Apache HTTP Server Basic

Client가 요청하면 Server는 응답한다.
웹에 적용하면 클라이언트는 웹브라우저이고 서버는 웹서버이다.
여기서 웹브라우저에 크롬, 익스플로러 등이 있고, 웹서버에는 아파치, 엔진엑스 등이 있다.
웹브라우저가 웹서버에 접속하려면 도메인과 아이피가 필요하다.

sudo apt install apache2
sudo service apache2 start
sudo service apache2 stop

ip addr하면 내 아이피를 알 수 있다(ip addr은 private IP가 나오고 curl은 public ip가 나온다).
라우터를 통해 연결되면 private ip와 public ip는 다르다. 그러면 기본적으로는 서버가 될 수 없고 클라이언트만 될 수 있는데, 라우터를 통해 연결된 컴퓨터끼리는 통신이 가능하고, 라우터의 도움을 받아서 서버컴퓨터의 역할을 할 수도 있다.
elinks http://myIP 하면 내 컴퓨터가 서버컴퓨터로 동작하는 웹서버에 접속하게 된다.
elinks가 웹브라우저이다.
아니면 그냥 브라우저에서 주소창에 아이피 주소를 쳐도 된다.

지금의 상황에서는 컴퓨터 한대 안에서 웹브라우저 웹서버를 따로 만들어서 통신을 하는데 이때는 localhost를 쓸 수 있다.
localhost = 127.0.0.1

웹브라우저에서 http://IP/File의 요청을 하면 그 IP에 해당하는 서버컴퓨터로 간 뒤 웹서버에서 특정 디렉토리에서 FILE을 읽어서 웹브라우저에게 응답한다.
그러면 웹브라우저는 그 파일을 읽고 해석한 뒤 출력하면 과정이 끝난다.

---------------------------------
Configuration
유닉스에서는 /etc에서 여러 프로그램의 동작 방법이 저장되어있다.
apache2.conf파일을 열어보면 설정파일에 대한 설명들이 있다.
웹서버에서 파일들이 저장되어 있는 위치는 코드들을 보면 알 수 있다.
서버컴퓨터는 요청이 왔을 때 /etc/apache2의 설정파일을 참고해서 어디서 읽을 지 정한 뒤 처리한다.
페이지를 찾는 최상위 디렉토리를 document root라고 한다.
Document root는 conf에서 바꿀 수 있다.


---------------------------------
Log
/var/log/apache2에 가면 로그 파일이 생성돼있다.
tail /FILEPATH: 이 파일의 끝에 있는 정보만 출력한다.
tail -f /FILEPATH: 실시간으로 끝에 있는 정보를 출력한다.






댓글

이 블로그의 인기 게시물

논문 정리 - MapReduce: Simplified Data Processing on Large Clusters

논문 정리 - The Google File System

kazoo: Using zookeeper api with python