クラウド関連技術ブログ

NginxでWordPressサイトを作ってみた(1回目)

投稿日:2014/08/11カテゴリー:

こんにちは、FL.OPSの中の人、じゅんちゃんです。

今回は、最近よく聞くようになったNginx(エンジンエックス)です。

NginxはApacheに比べ高速との話を聞きますが実際のところはどうなのでしょうか。
NginxとApacheで同じWordPressのサイトを動作させた場合の処理能力を比較してみたいと思います。

本日の内容

1.  NginxでWordPressサイトを作ってみた

2.  同じサイトを、ApacheとNginXで動かしてみた

ちなみに、OSはCentOS6.5です。

 

1.  NginxでWordPressサイトを作ってみた

NginxでWordPressサイトを構築する場合、Apacheに比べ少々敷居が高いように思います。
おそらく以下の理由のためだと思われますので、その辺をメインに構築します。

  •  yumの標準リポジトリからインストールできない
  • デフォルト設定ではWordPressが動かない

なお、Nginxにはリバースプロキシの機能もありますが、今回は利用せず、単純にApacheの置き換えということで構築してみます。
(リバースプロキシ化は別の回で実施します)


Nginxインストール

CentOSの標準リポジトリからNginxがインストールできないため、Nginxのリポジトリを追加します。

$ vi /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

インストール
$ yum install nginx

 

次はMysqlインストール
こちらについてはApacheの場合と同様にyumでインストールします。
$ yum install mysql mysql-server

次はPHPインストール
Nginxの場合、PHPを処理させるためにCGI「php-fpm」が必要になります。
$ yum install php php-pdo php-xml php-pear php-xmlrpc php-common php-cli php-gd php-mysql php-devel php-mbstring php-fpm

Nginx設定
CGIが動く最低限の設定を行います。
(ドキュメントルートは/var/www/wp/htmlへ変更)

$ vi /etc/nginx/conf.d/default.conf

server {
    listen       80;
    server_name  localhost;
    root   /var/www/wp/html;
    index  index.php;
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    location ~ /\.ht {
        deny  all;
    }
}

php-fpm設定

以下のuserとgroupをapacheからnginxへ変更

$ vi /etc/php-fpm.d/www.conf 

;user = apache
user = nginx

;group = apache
group = nginx

mysql設定
WordPress用データベースの作成
(ApacheにWordPressをインストールする場合と同じ手順のため省略)


WordPressダウンロードとwp-config.phpの作成
(ApacheにWordPressをインストールする場合と同じ手順のため省略)

サービス起動
/etc/init.d/nginx start
/etc/init.d/php-fpm start
/etc/init.d/mysqld start

ブラウザでアクセスし、以下のWPインストール画面が表示されていればOK。

wp.png

 

2. 同じサイトを、ApacheとNginXで動かしてみた

  1.  で構築したサイトをApacheでも動くようにし、GTMetrixというサイトでパフォーマンス計測してみました。

 

Nginx

nginx.png

 

Apache

apache.png

 

と、Nginxが若干数値が上回るも、予想に反してほぼ同じ結果に!!
Nginxの特長であるリバースプロキシやキャッシュの設定がされていない場合、NginxもApacheも応答速度では大きな差はないかもしれません。

次回は、リバースプロキシ化やキャッシュ化を行って、この値がどれだけ変わるか確認したいと思います。


GTMetrix
http://gtmetrix.com/

CONTACT

tel 092-986-2772
10:00〜17:00(土・日・祝日除く)
お問い合わせフォーム
page top