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