前回と前々回
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 […]