Nginxによる構築でWordPressを高速化する

apacheを使ってWordPressを構築するより
NginxとPHP-FPMで構築するほうがより処理の早いWordPressを構築できる

PHP-FPMとは
FPMはHPのFastCGI実装のひとつで負荷の重いサイトで有用な追加機能を用意している

構築手順
1必要なもののインストール

//nginxのインストール
# yum install nginx
//php-fpm,mysqlのインストール
//conflictする場合はyum removeで古い方を削除
# yum -y install php
# yum -y install php-fpm
# yum install mysql56
# yum install mysql56-server
//WordPressのインストール
# cd /usr/local/src
# wget https://wordpress.org/latest.tar.gz
# tar -zxvf latest.tar.gz
# mv wordpress/* /var/www/html/
//自動で立ち上がるように設定
# chkconfig mysqld on
# chkconfig httpd on

2各種設定 – mysqlにWordPress用のデータベースを作成

//mysql起動
# service mysqld start
# mysql -uroot
//データベースの作成
mysql>CREATE DATABASE wordpress charset utf8;
mysql>GRANT ALL PRIVILEGES ON wordpress.* TO 
"wpuser"@"localhost" IDENTIFIED BY "【mysqlのwpユーザのパスワード】";
mysql> FLUSH PRIVILEGES;

  • PHP-FPMの設定
# vim /etc/php-fpm.d/www.conf
//TCPではなくより優れているUNIXドメインソケットを使う
- listen = 127.0.0.1:9000
+ listen = /var/run/php-fpm/php-fpm.sock

- user = apache
+ user = nginx

- group = apache
+ group = nginx
  • nginxのファイルの編集
#vim /etc/nginx/nginx.conf

 server {
        listen 80;
        server_name 【サーバのホスト名】;
        index index.php ;
        root /var/www/wordpress ;
        location ~* /wp-config.php {
             deny all;
        }
        location ~ \.php$ {
             root           /var/www/wordpress ;
             fastcgi_pass   unix:/var/run/php5-fpm.sock;
             fastcgi_index  index.php;
             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
             include        fastcgi_params;
        }
    }

3起動

# sudo service nginx start
# sudo service php-fpm restart
//UNIXドメインソケットで通信できているかの確認
# netstat -a --unix