今回は、wordpressの話を少ししたので久々にwordpressをインストールしてみました。
意外とハマるところもありますが、理解してしまえばすぐにインストールでき、未だにブログメディアを立ち上げるのにもってこいだなーという感じがしました。

ということで、wordpress 日本語版の最新版をダウンロードし解凍します。
wget https://ja.wordpress.org/latest-ja.zip
unzip latest-ja.zip

wordpressのディレクトリに移動して、
cp wp-config-sample.php wp-config.php
と、configファイルを作成します。

そして、作ったconfigファイルの設定をします。
DBのusername, password, dbnameを決める。
sample なので、
 usename = wpuser
 passord = wppass
 database = wdpress
とします。

wordpressの日本語は php5.6以上 mysqlも5.6以上が推奨となっているため、
phpの最新版とmysqlの最新版をインストールします。 今回はvagrantで起動してる CentOS6.7上に設置しました。
そのため、rpmの追加からになります。

phpの5.6をいれる準備
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6.rpm
 
mysqlの5.6をいれる準備
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
rpm -Uvh mysql-community-release-el6-5.noarch.rpm

vim /etc/yum.repos.d/remi.repo
php5.6のenableを1にする


rpmを追加したら、yumでインストールし、各ソフトウェアの設定をしていきます。

必要なものをインストール
sudo yum install nginx php-fpm mysql mysql-server php php-mysql php-mbstring

先ほど決めたuserとdbをmysqlで作成する
create user 'wpuser' identified by 'wppass';
create database wdpress;
GRANT ALL PRIVILEGES ON wdpress.* to 'wpuser'@'localhost';

nginx の設定
vim /etc/nginx/conf.d/wordpress.confを以下のようにファイルと作り起動する。


/etc/init.d/nginx start


php-fpmの設定
vim /etc/php-fpm.d/www.conf
userとpassowrdを nginx に変更し
/etc/init.d/php-fpm start で起動する。

chown nginx:nginx /your/wordpres/path/wordpress

これでブラウザで見ると
success-redirect.png
のようになります。

また、設定を間違うと
リダイレクトループになってしまう場合があります。
redirect-roop.png

こういうのは、
たぶん、nginx.confに

  location / {
    if (!-e $request_filename) {
      rewrite ^/(.+)#  /index.php?q=$1 last;
      break;
    }
  }

と書いているのが原因で、

さっき私が張った nginx を 使ってセットアップしている場合は、
今回のnginx.confに対応が入っていて、

  location / {
    try_files $uri $uri/ /index.php;
  }


というところです。

こうなってれば問題ありません。

インストール画面が出たら、それで成功です。
あとは、ガイドに従って設定すれば大丈夫です。


Nginxのチューニング
ここからば爆速についてです。最初から nginx + php-fpmを使って立ち上げてるので、 apacheを使ってるよりも少し早いので、もう少し早くなるようnginxのチューニングをしてみました。

その結果
以下のように 1秒あたりのリクエスト回数を nginxデフォルト状態の15.4 から 19.20 回にまで増やすことができ、平均処理時間も短縮することに成功しました。(もっと早くなる気がするけど、今回はここまで)


今回の計測は、 apache bench を使用していて、

# ab -n 1000 -c 100 http://192.168.33.10/
で測定しました



nginx_tuning
データ
 apache default
Requests per second:    13.47 [#/sec] (mean)
Time per request:       7422.748 [ms] (mean)
Time per request:       74.227 [ms] (mean, across all concurrent requests)

nginx + php-fpm default
Requests per second:    15.40 [#/sec] (mean)
Time per request:       6494.350 [ms] (mean)
Time per request:       64.944 [ms] (mean, across all concurrent requests)
 
 nginx tuning
Requests per second:    19.20 [#/sec] (mean)
Time per request:       5209.497 [ms] (mean)
Time per request:       52.095 [ms] (mean, across all concurrent requests) 


やったね!