리눅스 아파치 웹서버의 메인 설정파일
- 위치 : /etc/conf/httpd/httpd.conf
설정법[edit | edit source]
기본 설정[edit | edit source]
Listen 1120 ServerName webadmin.example.com:1120 DocumentRoot "/var/www/html/webadmin" ServerAdmin [email protected] DirectoryIndex index.php index.html index.htm
- Listen : 사용할 포트를 지정한다.
- ServerName : 서버의 도메인을 입력한다.
- DocumentRoot : 웹 문서가 위치하는 디렉터리를 지정한다.
- ServerRoot "/var/www/html", DocumentRoot "/webadmin" 으로 나눌 수도 있다.
- ServerAdmin : 서버 관리자 이메일을 입력한다.
- DirectoryIndex : 클라이언트가 디렉토리를 요청할때 먼저 읽히는 파일들을 지정한다.
접근 제어[edit | edit source]
<Directory "/www/ihd/admin"> Order Deny,Allow Deny from All Allow from 192.168.2.0/24 </Directory>
- Order : Deny와 Allow의 순서를 정한다.(Allow - Deny 순서) 블랙리스트 방식
- Allow,Deny 또는 Deny,Allow 둘중에 하나를 적는다.
- 최종적으로 읽히는 정책이 동작한다.
- 위 예제의 경우 기본적으로 다 막고, 192.168.2 대역만 오픈한다.
접속 유지[edit | edit source]
KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 100
- HTTP는 기본적으로 Stateless 프로토콜로, 페이지를 로드할때마다 새로 접속을 수립
- KeepAlive는 이러한 특성 때문에 발생하는 부하와 속도 저하를 줄이고자 일정 시간동안 접속 유지
- KeepAlive를 사용하면 더 빠르지만, 동시 접속량은 줄어들 수 있다.
- KeepAliveTimeout은 언제까지 접속을 유지할지(초단위),
- MaxKeepAliveRequests는 클라이언트와 서버 프로세스 간에 연결을 지속시키는 동안에 허용할 최대 요청 건수를 지(해당 요청 건수를 초과하면 연결을 종료)
기타[edit | edit source]
- LimitRequestBody: 전송 가능한 최대 사이즈를 제한한다.
적용[edit | edit source]
apache 데몬(httpd)를 재시작 해주어야 한다.
$ sudo service httpd restart // 또는 $ sudo apachectl restart
- 다운타임 및 세션 유실을 방지하기 위한 재기동
- 단, 모듈 추가 등 일부 작업은 적용 불가(재시작 필요)
$ sudo httpd -k graceful