Apache httpd.conf 아파치 환경 설정 파일 튜닝하기

설치 환경 : CentOS6.x 64비트

1. Apache 설정이 필요한 이유

단순히 리눅스 OS환경에 apache+php+mysql 설치가 완료되었다고 해도 부족한 부분들이 상당히 존재한다. 완전 초기설정값 그대로 웹서비스를 이용하는것은 문제가 있기 마련이다.

때문에 조금의 튜닝작업이 필요하다. php 연동하기전에 각종 환경설정값을 튜닝할 계획이다.

2. apache httpd.conf 환경설정 튜닝

httpd.conf 파일을 열어서 외부에서 현재 서버에 접속을 할수있도록 권한 설정을 해줘야된다.

[httpd.conf]

vi /usr/local/apache/conf/httpd.conf

apache 2.0.x , 2.2.x

<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
</Directory>

apache 2.4.x 버전에서는 아래부분을 수정해준다.

<Directory />
AllowOverride All
</Directory>

아래 주석처리된부분을 풀어줘야된다.

ServerName www.example.com:80

apache 2.4.x 버전에서 아래 모듈을 올려줘야지 apache 시작이 가능하다

LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

디렉토리 index 값을 선언하는 부분이며, 어떠한 확장자를 가진 파일을 apache에서 호출을 할것인지를 선언한다.

DirectoryIndex index.html index.htm index.php index.php3 index.cgi

에러로그에 대한 로테이션을 설정하는 부분이다. 86400 이란 의미는 초 단위다. 이 값을 계산하면 24시간이 되기 때문에 1일치 데이터를 일자별로 저장하겠다는 의미이다.

ErrorLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/error_log.%Y-%m-%d 86400"

아래 설정값 또한 아파치 access 로그를 남기는 방법에 대해서 기술한것이다.

LogFormat "%h %l %u %t %{Host}i \"%r\" %>s %b PID: %P TIME: %T" dslee
SetEnvIfNoCase Request_URI (gif|png|jpg|css|js|bmp|jpeg|swf)$ IMAGE=1
CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/access_log_%y%m%d 86400" dslee env=!IMAGE

php 확장자를 호출할수있도록 해준다

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

아래 포함된 설정을 주석해제한다.

###주석해제####

Include conf/extra/httpd-userdir.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-default.conf

접속자와 관련된 설정값은 아래 파일명을 수정하도록 하자. 자신이 사용하고 있는 엔진이 worker,prefork, event 방식중에

어느부분에 해당되는지를 확인 한 이후에 설정하자.(필자는 prefork 방식이다)

vi /usr/local/apache/conf/extra/httpd-mpm.conf

<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 1024
MaxRequestsPerChild 0
</IfModule>

아파치 최소한의 기본 설정(튜닝)이 완료되었다. 이 정도만 튜닝해도 서비스하는데에는 큰 문제는 없을거라 생각 된다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다