eAccelerator는 PHP가속, 최적화, 동적 컨텐츠 캐시입니다.(PHP Op-Code Caching)
1. eAccelerator 다운로드
2. 압축풀기
3. eAccelerator 컴파일
eAccelerator 를 컴파일 하려면 PHP 버전의 phpize 스크립트를 사용해야 합니다. (php-devel 패키지에 있음)
php 만 설치했다면 소스 디렉토리에서 다음의 명령을 실행합니다.
php 설치나 phpize / php-config 스크립트가 path 설정이 되어 있지 않다면 다음과 같이 해야 합니다. (prefix=php 설치 디렉토리)
4. eAccelerator 설치
이 명령으로 이전에 생성된 eAccelerator 바이너리가 php 확장 디렉토리에 복사될 것이고,
명령이 끝나면서 eAccelerator가 설치된 디렉토리를 출력할 것입니다.
5. eAccelerator 설정
eAccelerator 를 Zend나 PHP 확장으로 설치하고, php.ini 파일을 수정합니다.
zend_extension으로 eAccelerator를 설치하면, eaccelerator.so 라이브러리의 전체 경로를 지정합니다.
* Zend 확장 설치시 (zend 설정 위에)
만약 PHP의 thread safe build를 사용한다면, 'zend_extension' 대신 'zend_extension_ts'를 사용해야 합니다.
* PHP 확장 설치시
6. 캐쉬 디렉토리 생성
마지막으로 매우 중요한 단계로, 캐쉬 디렉토리를 생성합니다.
기본값은 /tmp/eaccelerator 이지만, 대부분의 시스템에서 이 디렉토리는 재부팅시에 삭제되므로 좋은 방법이 아닙니다.
/var/cache/eaccelerator 정도에 생성하면 좋습니다.
디렉토리를 생성하고 웹서버를 실행하는 사용자가 eAccelerator를 실행 가능하게 해야 합니다.
Apache나 Lighttpd 처럼 PHP를 실행하는 사용자로 디렉토리의 소유권을 바꿔주고, 0644 권한으로 지정하는 것이 좋습니다.
7. 작동 확인
eAccelerator가 실행될 웹서버를 재시작합니다.
autoconf error
* autoconf 패키지 설치로 해결
- 공유 메모리에 컴파일된 상태에서 캐싱으로 PHP 스크립트의 성능을 향상시킵니다.
- 실행 속도를 높여 스크립트를 최적화합니다.
- 서버의 로드를 줄이고 PHP 코드를 1~10배 빠르게 합니다.
* 요구사항
php4 or php5 / autoconf / automake / libtool / m4
1. eAccelerator 다운로드
# wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6-rc1.tar.bz2
2. 압축풀기
# tar jxvf eaccelerator-0.9.6-rc1.tar.bz2
# cd eaccelerator-0.9.6-rc1
# cd eaccelerator-0.9.6-rc1
3. eAccelerator 컴파일
eAccelerator 를 컴파일 하려면 PHP 버전의 phpize 스크립트를 사용해야 합니다. (php-devel 패키지에 있음)
php 만 설치했다면 소스 디렉토리에서 다음의 명령을 실행합니다.
# phpize
# ./configure
# make
# ./configure
# make
php 설치나 phpize / php-config 스크립트가 path 설정이 되어 있지 않다면 다음과 같이 해야 합니다. (prefix=php 설치 디렉토리)
# export PHP_PREFIX="/usr/local"
# $PHP_PREFIX/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
# make
# $PHP_PREFIX/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
# make
4. eAccelerator 설치
# make install
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20090626/
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20090626/
이 명령으로 이전에 생성된 eAccelerator 바이너리가 php 확장 디렉토리에 복사될 것이고,
명령이 끝나면서 eAccelerator가 설치된 디렉토리를 출력할 것입니다.
5. eAccelerator 설정
eAccelerator 를 Zend나 PHP 확장으로 설치하고, php.ini 파일을 수정합니다.
zend_extension으로 eAccelerator를 설치하면, eaccelerator.so 라이브러리의 전체 경로를 지정합니다.
* Zend 확장 설치시 (zend 설정 위에)
zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20090626/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.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"
만약 PHP의 thread safe build를 사용한다면, 'zend_extension' 대신 'zend_extension_ts'를 사용해야 합니다.
* PHP 확장 설치시
extension="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.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"
6. 캐쉬 디렉토리 생성
마지막으로 매우 중요한 단계로, 캐쉬 디렉토리를 생성합니다.
기본값은 /tmp/eaccelerator 이지만, 대부분의 시스템에서 이 디렉토리는 재부팅시에 삭제되므로 좋은 방법이 아닙니다.
/var/cache/eaccelerator 정도에 생성하면 좋습니다.
디렉토리를 생성하고 웹서버를 실행하는 사용자가 eAccelerator를 실행 가능하게 해야 합니다.
Apache나 Lighttpd 처럼 PHP를 실행하는 사용자로 디렉토리의 소유권을 바꿔주고, 0644 권한으로 지정하는 것이 좋습니다.
# mkdir -p /var/cache/eaccelerator
# chmod 0644 /var/cache/eaccelerator
# chown daemon:daemon /var/cache/eaccelerator
# chmod 0644 /var/cache/eaccelerator
# chown daemon:daemon /var/cache/eaccelerator
7. 작동 확인
eAccelerator가 실행될 웹서버를 재시작합니다.
# /etc/init.d/httpd restart
autoconf error
# export PHP_PREFIX="/usr/local"
# $PHP_PREFIX/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
# $PHP_PREFIX/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
* autoconf 패키지 설치로 해결
# yum -y install autoconf
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,