Advertisement

nginx_install

 

はじめまして。福岡でiPhoneアプリ開発と、Webサイト制作をしておりますPLUSの入江と申します。このたび、有名なPhotoshop VIPさんに寄稿できる機会をいただけて、とても嬉しく思います。

 

出会いはひょんなことから。以前うちのブログでWebサイト高速化(http://golog.plus.vc/web/4531/)の記事を書いたことがあるんですが、たまたまPhotoshopVIPさんの目にとまり、連絡いただいたのがはじまりです。なんと場所も同じ福岡ということで、盛り上がりました。

 

ちょうどその時、Photoshop VIPさんのブログアクセス数がすごいことになっていました。アクセスが多すぎて日中はサーバーが重くなり、サーバーが止まることも…。そんなことがあり、どうにか高速化したいというご相談を受けたのでした。

 

実際に調べたところ、一つのリクエストに対して平均5〜6秒はかかっていました。表示される分にはまだいいですが、アクセスが多い時間帯だと、何十秒も開かなかったり、固まることも。

 

そして今回、このような事態を解決すべく、私も実際に自分のブログで試して効果があった、Nginxを使うことにしました。というわけでせっかくですので、Nginxをインストール・設定するまでの作業履歴を公開したいと思います。

 

私もサーバーの専門家ではないので、もしかしたら間違っている箇所もあるかもしれません。手順を参考にされる場合は自己責任でお願いします。

 

 

 

構成

image

 

Webサーバーは、NginxとApacheの両方を使います。静的な画像やCSS等は全てNginxで処理をします。そして、PHPやHTMLはApacheで処理をします。ただし、一度表示したページはNginxのリバースプロキシでキャッシュをしています。そのため、2回目以降の表示スピードが上がります。

 

 

 

nginxのインストール

 

yumを使ってnginxをインストールします。

 

もし、エラーが出る場合はパッケージがリストに入っていないので、レポジトリを追加します。

を作成。

 

に修正します。OSによってパスは変わります。

 

 

 

apacheの設定変更

を編集。

 

Nginxのポート を80 、Apache はポート 8080 を使うように変更します。
httpd.confの以下の部分を8080に変更します。

 

編集したら、apacheを再起動します。

 

 

 

nginxの設定

 

リバースプロキシを使い、画像などはnginxで表示するように設定します。

 

Location /wp-adminとしているのは、管理画面内をキャッシュさせないためです。

 

Mobileうんぬんのところは、例えば先にPCでaaa.htmlを表示したとします。その後に、スマホで同じaaa.htmlを開くと、何も設定していなければ、PCと同じページをキャッシュで表示します。

 

しかし、本来は同じアドレスでPCとスマホともに違うデザインで表示しています。そのため、アクセス元がPCなのかモバイルなのかをチェックしてキーを変更しています。

 

 

 

nginxの設定変更

 

以下を追記。gzipとキャッシュの設定をしています。

 

 

最後に、nginxを再起動して完了です。

 

abコマンドを実行すると、0.025秒になりました、大成功です。

 

実際に稼働をはじめてから、これまでのようにサーバーが止まったりすることもなく、順調に稼働しています。うちのブログもphotoshopVIPさんに負けないよう、頑張りたいと思います。

 

[info_box]

当サイトでたびたび起こっていた、サーバー障害もなくなり、WordPressをよりスムーズに利用することができるようになりました。サーバーでお困りの方、参考にしてみてはいかがでしょう。

[/info_box]