前回と前々回
https://nskw-style.com/2011/server/centos-nginx-fastcgi-wordpress-1.html
https://nskw-style.com/2011/server/centos-nginx-fastcgi-wordpress-2.html
前回までに、CentOSのセキュリティ設定、nginxのインストール、phpを動かす仕組み、MySQLのインストールとWordPress用のDBの作成を行いました。
ここからは、WordPressの設置についてです。
WordPressのインストール
僕は、SFTPでアクセスしてWordPressをアップロードしました。
パスは、/var/www/example.com配下にしました。
バーチャルホストの設定
@wokamotoさんのWordPants Summer Vol.4 ひまわりから、下記をコピペです。PDFからコピペすると、少なくともMacでは動かないです。文末のスペースが原因のようでした。
: http { : server { listen 80; server_name example.com; root /var/www/example.com; access_log /var/log/nginx/example.com.access.log main; # static files location ~ .*\.(txt|xml|html?|jpe?g|JPE?G|gif|GIF|png|PNG|swf|SWF|wmv|WMV|flv|FLV|css|CSS|js|JS|inc|ico|gz) { index index.html; expires 30d; break; } location / { index index.php index.html index.htm; # static files if (-f $request_filename) { expires 14d; break; } # request to index.php if (!-e $request_filename) { rewrite ^(.+)$ /index.php?q=$1 last; } } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/example.com$fastcgi_script_name; include fastcgi_params; } } : }
これで、シングルインストールのWordPressが動きます。
ネットワークインストールの場合はまた別です。
パーミッションの変更
exuserとしてアップロードして展開したWordPressのファイル群は、オーナーとグループともにexuserになっており、そのため管理画面からのプラグインインストール、画像のアップロードなどができません。
(もしかしてWP自体のアップグレードもできないのかな?確かめてません)
そこで、2つの作業をします。
権限の書き換え
必要なフォルダのパーミッションを下記のようにして変更します。
chown :nginx upgrade
ここではupgradeなのですが、ここをpluginsにしたりthemesにしたりしてください。
何かしようとするとエラーが出力されて、「upgrade/xxx」が作れませんでした!とか言われるます。wp-contentをまるごと変えるのはちょっと怖かったので、僕はそのたびに実施することにしています。
アップロードの仕方を変更
wp-config.phpに、下記をコピペして保存します。
define('FS_METHOD','direct');
Codex > wp-config.php の編集 > FTP・SSH 定数でちょっとだけ解説されています。
以上でWordPressが画像をアップロードしたり、プラグインのインストールや削除ができるようになります。
ここまでで、Apacheの代わりにnginxが動いている状況の出来上がりです。
このあと、さらにnginxを二分割して、動的に生成された結果としての静的ファイルをキャッシュして、次の要求があった時に、phpとWordPressを動かすことなくそのファイルを返してしまう仕組み(この言い方で合ってるのかな?)である、プロキシキャッシュを取り入れると、さらに速くなるということなのですが、僕の場合、WordPressをネットワークで動かしたく、それが実現できずにいるので、とりあえず、ここまででこのシリーズはおしまいです。
プロキシキャッシュ参考:
WordPressを100倍速くする! MySQLの調整やnginx proxy cache
さくらVPSのWordPressをチューニングして30倍高速化した方法
コメント
コメント一覧 (1件)
[…] CentOSにnginxとfastcgiを入れてWordPressを動かすまでのメモ:その3 […]