Nginxって?
NginxがApacheに次いでアクティブサイトシェア2位になったそうです。あのIISを抜いて本当ですか?私はまだインストールしたこともなく、リバースプロキシに特化したWebサーバで、ロシア人が作っている、くらいしか知りませんでした。久しぶりに検索すると、公式サイトのトップは相変わらず殺風景でしたが、Wikiはかなり充実していました。なぜこっちがトップではないのか。。
なぜそんなにきてるの?というのはWikiに書いてあって、非同期のイベント駆動アーキテクチャの、C10K問題に対応したWebサーバだそう。そう、クラウド時代のWebサーバ。実際、PHPはPHP-FPM、RubyはUnicornと組み合わせて使うのが常識のようです。
WordPressでも動いているそうなので、Ubuntu 10.04(LTS)でWordPressを動かす手順をなぞってみました。
NginxとPHP-FPMのインストール
UbuntuのNginxを入れると、とっくに1.0が出ているのに0.8.xが入ってしまいます。また、php-fpmも含まれていません。さいわいPPAがあるので、PPAを追加してインストールします。
$ sudo apt-get install python-software-properties $ sudo apt-get add-apt-repository ppa:nginx/stable $ sudo apt-get add-apt-repository ppa:nginx/php5 $ sudo apt-get update $ sudo apt-get install nginx php5-fpm php5-mysql
インストールされたことを確認します。
$ sudo service nginx status $ sudo service php5-fpm status
php5-fpmでstatusはないので、Usage:が出てくるはずです。とりあえずインストールされたことはわかります。また、ブラウザでhttp://127.0.0.1/を開くとWelcome to nginx!と書いてあるページが出てきます。
Nginxの設定
Nginxの設定ファイルは/etc/nginxの下にあります。PPAで入れただけあって、Apacheと似せてあります。よかったですね。というわけで、sites-available/defaultを編集します。ここでは、/var/www/ディレクトリにWordPressを解凍したと仮定します。
server { root /var/www/; server_name localhost; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } }
ファイルを保存したら、NginxとPHP-FPMをリロードします。
$ sudo service nginx reload $ sudo service php5-fpm reload
これで設定はおわりです。Apacheのときと同様に、ブラウザでhttp://127.0.0.1/を開いて、WordPressのインストールを進めてください。
お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。