マルチサイトで運用中のWordPressサーバが重くなってきたので、nginxの導入を行いました。
cent OSに入れるのでyumでインストールします。remiのリポジトリ使います。
現在はApacheとphpで動いています。
$sudo yum -y install nginx php-cli php-fpm –enablerepo=remi
インストールが完了したら
/etc/nginx/nginx.confを編集
バーチャルドメインの場合は/etc/nginx/conf.d/以下にapacheの設定のようにヴァーチャルドメインを追加する。
conf.d以下がnginx.confに読み込まれるので、拡張子は.confにする必要がある
# Load config files from the /etc/nginx/conf.d directory
include /etc/nginx/conf.d/*.conf;
こんな感じで読み込まれるため
/etc/nginx/conf.d/example.com.confとか
[code]
server {
#WordPressマルチサイト
listen 80;
server_name example.com www.example.com example.net www.example.net;
access_log /var/log/nginx/access_log;
error_log /var/log/nginx/error_log;
index index.php index.html;
location ~ .*\.php$ {
root /var/www/example/htdocs;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
//パーマリンク
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
//マルチサイト
rewrite ^.*/files/(.*) /wp-includes/ms-files.php?file=$1;
}
[/code]
もしCLI版を有効にしていなければ、php.ini等でapc.enable_cli=1を追記してください。
/etc/php-fpm.d/www.conf
user=nginx; group=nginx;userとgroupはwordpressのディレクトリパーミッションにより 柔軟に対応してください。 uploads等を777にしている場合はどのユーザでもOK apacheユーザやnobodyユーザへのみ書き込みを開けているユーザに変更する(擬似apache化w) server_tokens off; 等の設定を行う。
/etc/rc.d/init.d/httpd stop /etc/rc.d/init.d/nginx start /etc/rc.d/init.d/php-fmp
これで起動 nginxでwordpressが動きます。
参考サイト
さくらのVPS CentOSでサーバ構築 21 – Nginx 楽しく情報処理技術者試験
