Memcached 설치 적용하였습니다.
5. Memcached 캐시 사용하기
Memcached는 Memcached 서버와 PHP extension 두 가지를 설치하여야 합니다.
5.1. Memcached 설치 확인
아래 명령을 이용하여 memcached가 실행 중인지 확인합니다.
$ ps ax | grep memcached
31721 ? Ssl 0:01 memcached -u root -d
혹은 아래와 같이 포트 번호 11211로 접속이 되는지 확인합니다.
$ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
quit
Connection closed by foreign host.
5.2. Memcached 설치
Memcached 설치가 되어 있지 않다면 설치가 필요합니다. 아래 명령을 이용하여 설치합니다.
데비안/우분투
$ apt-get install memcached
레드햇/페도라
$ yum install memcahed
- 자세한 정보
- Memcached에 대한 자세한 정보는 http://code.google.com/p/memcached/wiki/NewStart를 참고하세요.
5.3. Memcache extension 설치 확인
아래 내용을 담은 PHP 파일을 하나 작성하여 해당 페이지로 접속한 후 'memcache'로 검색해 memcahe extension이 설치되었는지 확인합니다.
<?php phpinfo(); ?>
5.4. Memcache extension 설치
Memcache extension은 PECL을 통해 손쉽게 설치할 수 있습니다. PHP 설치 디렉터리의 bin에서 아래 명령을 이용하여 설치합니다.
$ ./pecl install memcache
중간에 나오는 질문에 아무 것도 입력하지 않고 엔터를 쳐서 진행하면 됩니다.
Starting to download memcache-2.2.6.tar (Unknown size)
.....................................done: 170,496 bytes
11 source files, building
running: phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
Enable memcache session handler support? yes :
컴파일 과정이 지난 후 아래와 같은 설치 성공 메시지를 볼 수 있습니다.
Build process completed successfully
Installing 'PHP_설치_디렉터리/lib/php/extensions/no-debug-non-zts-20090626/memcache.so'
install ok: channel://pecl.php.net/memcache-2.2.6
configuration option "php_ini" is not set to php.ini location
You should add "extension=memcache.so" to php.ini
이제 php.ini 파일을 열어 아래와 같이 extension을 추가한 후에 웹 서버를 재시작 해 줍니다.
extension=memcache.so
웹 서버 재시작 후에 다시 info 페이지로 접속하여 'memcache'가 있는지 확인합니다.
- Info 페이지에서 memcache가 검색되지 않습니다.
- extension에 memcache.so 파일의 절대 경로를 입력해 보세요. so 파일의 절대 경로는 pecl 설치 성공 메시지에서 확인할 수 있습니다.
5.5. XE 설정 파일 수정
XE_설치_디렉터리/files/config/db.config.php를 열어 아래 내용을 추가합니다.
$db_info->use_object_cache = 'memcache://localhost:11211';
$db_info->user_template_cache = 'memcache://localhost:11211';