CentOS 6에 Nginx, PHP, MySQL, Memcached 및 WordPress 설치 가이드

LNMP 환경 구축

먼저 Linux, Nginx, MySQL, PHP(LNMP) 스택을 준비합니다. 자세한 설치 과정은 다음 링크를 참조하세요: LNMP 구축 가이드.

1. Memcached 설치

Memcache와 Memcached는 모두 키-값 캐싱 도구이지만, Memcached가 더 현대적이고 안정적입니다. 여기서는 Memcached를 권장합니다.

방법 A: Yum으로 설치

yum -y install memcached
# Memcached 시작
service memcached start
# 부팅 시 자동 실행
chkconfig memcached on

방법 B: 소스에서 컴파일

  1. 필수 종속성 설치:
    yum install cyrus-sasl-devel gcc gcc-c++ gcc-devel
  2. 최신 Memcached 소스 다운로드 및 컴파일:
    wget http://memcached.org/files/memcached-1.4.25.tar.gz
    tar xzvf memcached-1.4.25.tar.gz
    cd memcached-1.4.25
    ./configure --prefix=/usr/local/memcached
    make && make install
  3. 심볼릭 링크 생성 및 init 스크립트 복사:
    ln -s /usr/local/memcached/bin/memcached /usr/bin/memcached
    cp scripts/memcached.sysv /etc/init.d/memcached
  4. 로컬 호스트에서만 수신하도록 설정하고 UDP 비활성화(원격 접근이 필요하면 건너뛰기):
    sed -i 's/OPTIONS=""/OPTIONS="-l 127.0.0.1 -U 0"/g' /etc/init.d/memcached
    sed -i 's@chown@#chown@' /etc/init.d/memcached
    sed -i 's@/var/run/memcached/memcached.pid@/var/run/memcached.pid@' /etc/init.d/memcached
  5. 서비스 시작 및 부팅 설정:
    chmod +x /etc/init.d/memcached
    service memcached start
    chkconfig --add memcached
    chkconfig memcached on

2. PHP Memcached 확장 설치

  1. PHP 7 호환 확장 다운로드:
    wget https://github.com/php-memcached-dev/php-memcached/archive/php7.zip
    unzip php7.zip
    cd php-memcached-php7/
  2. PHPize를 사용하여 확장 준비:
    /usr/local/php/bin/phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached
    make && make install
  3. PHP 구성에 확장 추가:
    vim /etc/php.ini
    파일 끝에 다음 줄 추가:
    extension=memcached.so
  4. 확장 활성화 확인:
    php -m | grep memcached
  5. PHP-FPM 및 Nginx 다시 시작.
  6. 간단한 테스트 파일 /var/www/html/test.php 생성:
    <?php
    $cache = new Memcached();
    $cache->addServer('127.0.0.1', 11211);
    $cache->set('test_key', 100);
    echo $cache->get('test_key');
    ?>
    브라우저에서 http://서버IP/test.php 접속하여 "100"이 출력되는지 확인.

3. WordPress에 Memcached 적용

3.1 객체 캐시 플러그인 설치

  1. GitHub에서 WordPress용 Memcached 객체 캐시 플러그인 다운로드:
    wget https://codeload.github.com/tollmanz/wordpress-pecl-memcached-object-cache/zip/master
    unzip master.zip
  2. object-cache.php 파일을 WordPress의 wp-content 디렉토리에 업로드.
  3. WordPress 루트의 wp-config.php에 다음 코드 추가:
    global $memcached_servers;
    $memcached_servers = array(
        array(
            '127.0.0.1', // Memcached 서버 IP
            11211         // Memcached 포트
        )
    );

    원격 서버나 여러 서버를 사용하려면 배열에 추가:

    global $memcached_servers;
    $memcached_servers = array(
        array('192.168.1.100', 11211),
        array('192.168.1.101', 11211)
    );

주의: WordPress 공식 저장소의 object-cache.php는 Memcache(구버전)만 지원하며, Memcached와 호환되지 않습니다. 잘못된 파일을 사용하면 백지 화면 오류가 발생할 수 있으니 반드시 위 GitHub 링크의 파일을 사용하세요.

3.2 Memcache 모니터링 도구(선택 사항)

  1. Memcache PHP 확장 다운로드 및 설정(모니터링 목적):
    wget http://pecl.php.net/get/memcache-3.0.8.tgz
    tar xzvf memcache-3.0.8.tgz
    cd memcache-3.0.8
  2. memcache.php 파일 편집:
    vim memcache.php
    아래 설정 변경:
    define('ADMIN_USERNAME', 'admin');    // 로그인 ID
    define('ADMIN_PASSWORD', '비밀번호');  // 로그인 비밀번호
    define('DATE_FORMAT', 'Y/m/d H:i:s');
    define('GRAPH_SIZE', 200);
    define('MAX_ITEM_DUMP', 50);
    $MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // 서버 주소 및 포트
  3. memcache.php를 웹 루트(예: /var/www/html)에 복사하고 http://서버IP/memcache.php로 접속하여 캐시 상태 모니터링.

태그: Memcached PHP WordPress cache nginx

8월 6일 19:18에 게시됨