め組VPSに移行後に設定した項目

さくらの共用サーバから、め組のVPSに移行した際に設定した項目のメモです。
大まかにはこんな感じ

Apache, MySQL の設定は飛ばします。

APC のインストール

APC のインストールは、PECL で一発です。

# pecl install apc

あとは、php.ini に設定を追加してやればOK。
僕の設定は、とりあえずこんな感じです。

[apc]
extension=apc.so
apc.enabled=1
apc.optimization=1
apc.ttl=3600
apc.gc_ttl=3600
apc.shm_size=64M
apc.num_files_hint=100

Apache をリブート後、apc が php で利用できるようになったかチェックする。

# /etc/rc.d/init.d/httpd restart
# php -r 'phpinfo();' | grep apc
apc
apc.cache_by_default => On => On
apc.canonicalize => On => On
apc.coredump_unmap => Off => Off
apc.enable_cli => Off => Off
apc.enabled => On => On
apc.file_md5 => Off => Off
apc.file_update_protection => 2 => 2
apc.filters => no value => no value
apc.gc_ttl => 3600 => 3600
apc.include_once_override => Off => Off
apc.lazy_classes => Off => Off
apc.lazy_functions => Off => Off
apc.max_file_size => 1M => 1M
apc.mmap_file_mask => no value => no value
apc.num_files_hint => 100 => 100
apc.preload_path => no value => no value
apc.report_autofilter => Off => Off
apc.rfc1867 => Off => Off
apc.rfc1867_freq => 0 => 0
apc.rfc1867_name => APC_UPLOAD_PROGRESS => APC_UPLOAD_PROGRESS
apc.rfc1867_prefix => upload_ => upload_
apc.rfc1867_ttl => 3600 => 3600
apc.shm_segments => 1 => 1
apc.shm_size => 64M => 64M
apc.slam_defense => On => On
apc.stat => On => On
apc.stat_ctime => Off => Off
apc.ttl => 3600 => 3600
apc.use_request_time => On => On
apc.user_entries_hint => 4096 => 4096
apc.user_ttl => 0 => 0
apc.write_lock => On => On

memcached のインストール

まずは libevent をインストールしましょう。

# wget http://www.monkey.org/~provos/libevent-1.4.14-stable.tar.gz
# tar zxvf libevent-1.4.14-stable.tar.gz -C /usr/local/src
# cd /usr/local/src/libevent-1.4.14-stable/
# ./configure
# make
# make install

続いて、memcached のインストール。

# wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
# tar zxvf memcached-1.4.5.tar.gz -C /usr/local/src
# cd /usr/local/src/memcached-1.4.5/
# ./configure
# make
# make install

memcached 用のユーザーの作成。

# groupadd memcached
# useradd -g memcached -s /sbin/nologin -d /nonexistent memcached

起動スクリプト( /etc/rc.d/init.d/memcached )の作成。

#!/bin/bash
#
# memcached
#
# chkconfig: 345 80 20
# description: memcached
TARGET=memcached
DST_BIN=/usr/local/bin/${TARGET}
EXEC_USER=memcached
CACHE_SIZE=64
export LD_LIBRARY_PATH=/usr/local/lib/
start()
{
  echo -n "Starting ${TARGET}: "
  ${DST_BIN} -d -u ${EXEC_USER} -m ${CACHE_SIZE}
  echo
}
stop()
{
  echo -n "Shutting down ${TARGET}: "
  killall ${TARGET}
  echo
}
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  *)
    echo "Usage: `basename $0` {start|stop|restart}" >&2
    exit 1
esac
exit 0

保存したら、「chmod 755 /etc/rc.d/init.d/memcached」 を忘れずに。

memcached の動作チェック

# /etc/rc.d/init.d/memcached start
# telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

と表示されたら「stats」と入力して、何か表示されれば memcached の動作OK。
「quit」と入力すれば、通常のコンソールに戻ります。

memcached がサービスとして自動起動するように chkconfig で設定。

# chkconfig --add memcached
# chkconfig memcached on

登録されたかチェックする。

# chkconfig --list memcached
memcached      	0:off	1:off	2:on	3:on	4:on	5:on	6:off

と、表示されれば登録OK。

pecl で、memcached モジュールをインストール。

# pecl install memcache

php.ini に以下を追加。

[memcache]
extension=memcache.so

Apache をリブート後、memcache が php で利用できるようになったかチェックする。

# /etc/rc.d/init.d/httpd restart
# php -r 'phpinfo();' | grep memcache
memcache
memcache support => enabled
memcache.allow_failover => 1 => 1
memcache.chunk_size => 8192 => 8192
memcache.default_port => 11211 => 11211
memcache.default_timeout_ms => 1000 => 1000
memcache.hash_function => crc32 => crc32
memcache.hash_strategy => standard => standard
memcache.max_failover_attempts => 20 => 20

と、表示されれば登録OK。

WordPress で、オブジェクトキャッシュが使えるように object-cache.php を、WordPress インストールディレクトリ下の wp-content にコピー。

DB Cache Reloaded プラグインの改造は、次回のお楽しみ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください