티스토리 뷰

1. 중요 폴더&파일

  conf : 아파치가 여러 가지 서로 다른 종류의 요청에 어떻게 응답할 것인지 정의한 설정 파일 

  htdocs : 문서, 이미지, 데이터 등 클라이언측에 제공하려는 것들이 담겨져 있다.

  logs : 어떤 일이 일어나는지 기록하는 로그 파일들


2. 아파치 실행 순서

  아파치 실행 -> 아파치는 자기 자신이 감시하고 있는 네트워크 인터페이스 인터페이스의 포트로부터 클라이언트의 요청이 들어오기를 기다리며 백그라운드 모드에서 조용히 동작함 -> 요청이 들어오면 아파치는 자신이 담당한 일을 수행하고 문제가 있을 경우에는 로그 파일에 기록함


3. 아파치 실행 옵션 

  httpd -D : <IfDefine> 지시자에서 사용할 이름 정의

  -d : ServerRoot 디렉토리 정의

  -f : ServerConfig 파일 정의

  -C : 

  ... 이외로 다양함,, 궁금하면 찾아보기


4. 리눅스 서버 설정하기

  1)/계정/bin/ 안에 명령어 단축을 위한 스크립트 파일을 생성하면 사용가능

     ex)/usr/local/bin/ go라는 script파일 생성

2)PID를 이용한 아파치 종료

: 아파치는 .../logs/httpd.pid의 PidFile 지시자에 자신의 pid를 저장하므로 kill `cat /.../logs/httpd.pid`로 아파치 종료 가능 

3)권한 설정

: 아파치 실행을 위해선 권한이 필요함, 리눅스에 계정을 만든 후 httpd.conf파일에 username, group을 추가 (Group은 아파치 서버가 가지는 GID와 같음)

4)아파치 실행 후 PID를 찾아보면 1개는 root에 속해있고 나머지들은 우리가 정의한 user에 속해진 것을 확인할 수 있음(root 프로세스를 종료시키면 모두 종료됨)

※아파치가 여러개 뜨는 이유? 

  root 소유의 httpd 프로세스는 다른 username 프로세스들을 관리하는 놈이며 실직적으로 80번 포트로 들어오는 요청을 관리한다(1024이하의 포트는 root만 권한있음), 요청의 갯수에 따라 username 프로세스가 늘어날 수도 있고 줄어들 수도 있다(httpd.conf의 MinSpareServers, MaxSpareServers로 설정 가능)

5)Document Root 설정

: httpd.conf에서 Document Root는 도메인에 해당하는 경로를 의미함 (예를들어 http://domain/*이라고 주소를 쳤을 때, http프로토콜을 이용하고 '/'는 httpd.conf파일에서 정의한 DocumentRoot 디렉토리에 접근하라는 의미)

6)디렉토리, 파일 권한 관리

: htdocs에 해당하는 경로의 권한이 오픈되어 있어야 유저의 접근이 가능하므로 웹서버 구축 후 접속이 안되는 경우 디렉토리, 파일 권한도 살펴보자


-----여기까지 설정하면 가장 기본적인 웹서버 구축 완료


7)telnet을 통한 브라우저 접속

: telnet [아이피] [포트]

※telnet : 인터넷 표준 프로토콜, 인터넷을 통해서만 연결되는 프로토콜 

8)httpd.conf에서 CustomLog를 통해 로그를 기록하는 파일을 설정할 수 있다.



 






댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함