server Zend Optimizer + eAccelerator + Suhosin

2010.05.11 17:25

Elkha 조회 수:18247

참고 문서  

zend.jpg

eaccelerator.png

이 게시물은 리눅스 서버 구축의 포스팅을 따라하면서 막힌 부분을 수정한 것입니다.
지금 보고 계시는 사이트의 서버도 동일한 방법으로 구축하였습니다. (32bit CentOS)
저는 이 분야에 관한 지식이 깊지 않으며, 정확하지 않은 내용이 있을 수도 있습니다.

들어가기에 앞서..

XE를 운영하기 위해서는 php 가속 프로그램이 필수적이며 제 경험상 가속 프로그램을 두 가지 이상 설치하는 것이 좋습니다..
검색해보면 아시겠지만 주로 Zend Optimizer + (eAccelerator | xCache) 설치를 권하고 있습니다.
가속기를 설치하는데는 다양한 방법이 있겠지만, 이 게시물에서는 Zend Optimizer + eAccelerator 에 관한 내용만 다룹니다.

가속 프로그램 외에도 Suhosin 이라는 보안 모듈이 있습니다.
한국을 좋아하는 독일인이 만든 프로그램으로, php의 허술한 보안을 강화시켜 준다고 합니다.
이와 관련된 내용은 KLDP에서 참고.

Zend Optimizer

Zend Optimizer를 다운로드 받습니다.
Zend Optimizer는 재 배포를 금지하기 때문에 직접 회원가입하셔서 다운로드 받아야 합니다.
저는 3.3.3 버전을 설치했으며 3.3.9 버전은 설치 방법이 조금 다릅니다.

# tar xvfz ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
# cd ZendOptimizer-3.3.3-linux-glibc23-i386
# ./install

./install 하고나서 php.ini 위치를 입력하라고 나오는데, 디렉토리는 /usr/local/php/lib 으로 합니다.
나머지 부분은 그냥 진행하시면 됩니다.
설치가 완료되면 php.ini 파일은 /usr/Zend/etc/php.ini 경로에 이동됩니다.

eAccelerator

eAccelerator를 다운로드 받습니다.
제가 설치한 버전은 0.9.5.3 입니다.

# tar xvfj eaccelerator-0.9.5.3.tar.bz2 # cd eaccelerator-0.9.5.3
# ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config

Suhosin

앞에서 언급한 Suhosin을 설치하는 과정입니다.
제가 설치한 버전은 0.9.31으로 2010년 5월 11일 현재 최신버전이네요.

# tar xvfz suhosin-0.9.31.tgz
# cd suhosin-0.9.31
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install

모듈 연동

앞에서 설치한 eAccelerator, Suhosin을 PHP모듈로 연동하는 과정입니다.

# mkdir /var/cache/eaccelerator
# chown nobody /var/cache/eaccelerator
# chmod 700 /var/cache/eaccelerator
# vi /usr/local/Zend/etc/php.ini

[Suhosin]
extension_dir=/usr/local/php/lib/php/extensions/no-debug-zts-20060613
extension=suhosin.so
[eAccelerator]
zend_extension_ts="/usr/local/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
eaccelerator.log_file="/var/log/eaccelerator.log"
;Zend Optimizer 문장 위에 작성합니다.

만약 웹 서버를 Lighttpd으로 설치하셨다면 위의 php.ini 내용을 조금 바꾸어 줍니다.

# vi /usr/local/Zend/etc/php.ini

[Suhosin]
;extension_dir=/usr/local/php/lib/php/extensions/no-debug-zts-20060613
extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613
extension=suhosin.so
[eAccelerator]
;zend_extension_ts="/usr/local/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so"
extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613
extension=eaccelerator.so

기타..

번호 제목 날짜 조회 수
12 php 생성자 / 소멸자 2011.05.21 7568
11 php + ssh2 file 2010.06.05 20197
10 php 에서 파일 권한 설정 2010.05.21 4593
9 php 쿠키 생성, 읽기 file 2010.05.19 7103
8 php 에서 텍스트 파일을 생성, 수정하기 file 2010.05.19 9922
7 파일 불러오기 file 2010.05.17 5471
6 php 암호화와 복호와 file 2010.05.17 7305
5 php 현재 시각 출력하기 file 2010.05.17 4458
4 html 파일에서 php 구문 숨기기 file 2010.05.17 6860
3 sAPM file 2010.05.12 20260
» Zend Optimizer + eAccelerator + Suhosin file 2010.05.11 18247
1 PHP 설치 file 2010.05.11 15056