最近、徐々にシェアを伸ばしているnginxをご存知でしょうか。
高性能なwebサーバで処理能力が高く、安定した処理を高速で動かすことが可能となります。

大手サイトでいうとyahooなんかもnginxを導入していて話題となっています。

webサーバのシェア数比較
* @IT参照

こちらのグラフを見るとシェア数の増加が著しく全体の1割ほどを占めるまでに成長しています。

nginxの特徴

冒頭でも述べましたが、処理能力に優れた高性能webサーバです。
特に静的なサイトの処理に強く、C10K問題(クライアントの同時接続増加による問題)に対処できる有力株としても注目されています。

またproxy cacheという機能を使うことでwordpressなどの動的サイトも一時的にキャッシュしたページを表示することでwordpressのネックであるページ表示の遅さにも対応できます。

nginxのメリット

軽量で処理能力の高いwebサーバですので、アクセスが集中しても処理能力をあまり落とさずにスピーディにページを表示することが可能となります。

サイトのスピードを向上させ、安定供給させることでSEOにも効果があると考えられます。
最近のSEOではコンテンツ重視ということが騒がれ、コンテンツの質を高めているサイト製作者は多くいると思います。
コンテンツの質を高めると言っても、どんなことを指標に頑張っていけばよいのか悩みどころです。
またwordpressの利用者が増えてきたことから内部構成など最低限のSEOは、誰も考えなくてもある程度は実施できている現状です。

そんなときにコンテンツの質が同等のサイト同士ならどこで差別化するかのひとつの手としてサイトの高速化が考えられます。
nginxを使うことでwordpressのネックであるページ表示の遅さを軽減できるのでライバルサイトより優位に立てる可能性が広がります。

バーチャルホストで複数のサイトを運営することが簡単に出来ます。
個別の設定ファイルとディレクトリを作成するだけで簡単にバーチャルホストが使えるのでたくさんのドメインを1台のサーバで運用するときには重宝します。

nginxのデメリット

シェア数が全体の1割程度なので使っている人が少なく参考になる文献が少ないです。
ですので、問題に嵌ったときの解決策を探すのに一苦労するかもしれません。

一般的なレンタルサーバでは対応していないことが多いので、自宅サーバまたはVPSを使うこととなります。
ルート権限の付与がないと、サーバにソフトのインストールや設定ファイルの変更が出来ません。

.htaccessはapache特有なものなので使用できません。リダイレクトなどの設定はnginxのconfファイルに指定することになります。
wordpressを扱う場合はパーマリンクを機能させるためには少し設定が必要となります。

少し設定を追加しないと、phpやcgiを使うことができない。wordpresを使う際には少し設定ファイルに追加の記述をしないとうまく動作しません。

CentOS7にnginxを導入

ここではlinuxのディストリビューションのひとつCentOS7について話を進めます。

nginxは標準のリポジトリにパッケージがないので「epel」と「remi」の外部リポジトリを使用できるように設定する必要があります。

epelリポジトリの追加

標準リポジトリとの混同を防ぐために、「–enablerepo」で指定しなければ「epel」リポジトリを使用出来ない設定にしておきます。

/etc/yum.repos.d/epel.repoをviコマンドで開き、[epel]部分の「enabled=1」を「enabled=0」に変更します。

remiリポジトリの追加

nginxのインストール

先ほど「–enablerepo=epel」を追加しないと「epel」リポジトリを使用できない設定にしてあるので忘れずにつけましょう。

これでインストールは完了です。設定については別記事で紹介したいと思います。