先日、WordPressをApacheから標題の環境に移行したというコラムを書いたのですが、(チューニング以前の)設定方法を教えて欲しいというご要望をいただきましたので、まとめておきます。
(前提)
- WordPressはインストール済みでApacheで動作している。インストール場所は/home/homepage/public。
- OSはUbuntu12.04を使用し、Varnish, Nginx, PHP-FPMはパッケージからインストール。
- 使用するポート番号は、Varnish:80, Nginx:8080。NginxとPHP-FPMの間はUnixドメインソケットを使用。
- WordPressのパーマリンクの設定は”/archives/%post_id%/”。
1.Varnish, Nginx, PHP-FPMのインストール
1 |
apt-get install varnish nginx php5-fpm |
2.PHP-FPMの設定
/etc/php5/fpm/pool.d/www.confのlistenを以下のように変更してPHP-FPMを再起動します。
1 |
listen = /var/run/php5-fpm.sock |
※Berkleyソケットも使えます。’ip.ad.re.ss:port’ or just ‘port’ or ‘/path/to/unix/socket’.
3.Nginxの設定
/etc/nginx/sites-available/defaultを/etc/nginx/sites-abailable/の下にコピーして以下のように編集します。新しいファイル名は何でもかまいません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
server { listen 8080; root /home/homepage/public; index index.html index.htm index.php; server_name www.atage.jp; location / { try_files $uri $uri/ /index.html; } if (!-e $request_filename) { rewrite ^(.+)$ /index.php?q=$1 last; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } } |
編集が終わったら/etc/nginx/sites-enabledの下にリンクをはってNginxを再起動します。
1 |
ln -s /etc/nginx/sites-available/homepage /etc/nginx/sites-enabled |
4.Varnishの設定
/etc/varnish/default.vclを
1 2 3 4 |
backend default { .host = "127.0.0.1"; .port = "8080"; } |
/etc/default/varnishの待受ポートを80に変更して再起動します。
1 2 3 4 5 |
DAEMON_OPTS="-a :80 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s malloc,256m" |
ここまでで一応WordPressを標題の環境で動作させることができます。ただし、ここまでの設定では肝心のVarnishのキャッシュがほとんど機能していません。チューニングについてはあらためてまとめます。