WordPressをNginxで動かしてみる

このエントリーをはてなブックマークに追加

これまでApacheでWordPressを動かすことはしてきましたが「Nginxがいい」という話をきき、とりあえず実践してみることにしました。

Nginxって何?って思っていた部分もありますが、それは使いながら覚えていこうかと、そのようなくらいの現在の知識。

とりあえず無謀にも、今回のここのブログをNginxで動かしてみているのですが、その時の設定項目を少しだけメモ程度に残しておきます。

Nginx & PHP-FPM

VPSを借りた時に、PHPは勉強用として最新版をいれてみよう!と思いPHP5.5をインストールしていたのですが、その後にWordPressを運用しようと思った時に、WordPressのバージョンが3.6の現在、MySQLとの関連でうまく動作しないということがわかったので、すぐさまPHPをダウングレード。

ダウングレードというよりはPHPも複数バージョンで運用できないかと、これまた面倒なことにチャレンジ精神旺盛なじぶんは phpenv なるものを導入、いろいろハマる。。。

参考:
phpenvをシステムワイドにインストールする方法 - Qiita [キータ]
phpenv + php-build を使って 5.3 と 5.4 を共存させつつ php-fpm を使う - 肉とご飯と甘いもの @ sotarok
php-buildでphp-fpmを試してみた - tarhashiの日記

最初は全体はPHP5.5(デフォルト)で、WordPressの部分だけ5.4で運用とか考えて準備始めたのですが、今回のWordPress以外にもいろいろと運用するためのものが入っていまして、そこでも5.5がまだ使えなかったため、最終的には5.4系をデフォルトにおいて運用することにしました。

設定は下記のようにしてみています


upstream php54 {
    server 127.0.0.1:9000;
}
server {
    listen 80; // 実際はIPもいれて xxx.xxx.xxx.xxx:80 としてみています
    server_name  your.domain; // ドメイン

    root /xxx/xxx/xxxx/xxxx; // サーバー内のwebのルートになるところ
    index index.html index.php;
    charset utf-8;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_pass php54;
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PAHT_INFO $fastcgi_script_name;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
    }
}

Nginx と PHP-FPM を動かせるようになったあとに、rootで設定したところにWordPressを展開してインストール。

パーマリンクを変更したらリンク先に飛ばなくなったという問題はありますが(それは別途書きます)とりあえずWordPressのインストールは完了できたのでよしとします。