0

nginx

nginxを入れてPHPも動くようにしたときのメモ。
nginxは何かと一言でいうと軽いwebサーバー。

# yum --enablerepo=epel,remi install nginx
でとりあえずnginxをインストール。

/etc/nginx/nginx.conf を編集
(apacheでいうところのhttpd.conf)

ポートを指定
listen 80;

listen 8080;

ドキュメントルートを指定
root /usr/share/nginx/html;

root /home/www/html;

# /etc/init.d/nginx restart
でとりあえずhtmlは扱えるようになる

http://localhost:8080/
表示された。

次にPHPを扱えるようにする。
公式サイトの説明ではfastCGIを使ったら良いとの事なのでそれに従う。
fastCGIのプロセス管理もdaemontoolsではなく、spawn-fcgiというものを使う。
nginxからではfastCGIの起動ができない。

spawn-fcgiはlighttpdの付属としてインストールできるらしいので、lighttpdごとインストールしてしまう。

# yum --enablerepo=epel,remi install lighttpd lighttpd-fastcgi
 
# /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nginx -C 2 -f /usr/bin/php-cgi

以下の一行がでたら無事起動してる。
spawn-fcgi: child spawned successfully: PID: 24589

9000というポートを指定してるけど、これはnginxとの通信に使うものなので8080にしてはダメ。
ユーザー名もnginxと合わせてnginxとしておく。

nginx.conf を再度設定する。

location / {
index index.html index.htm;
root /home/www/html;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME /home/www/html/$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}

# /etc/init.d/nginx restart

これで、http://localhost:8080/hoge.php 無事表示できるようになった。
phpはapacheで動かすより遅いけど特に気にならない程度。
session周りとかパーミッションの変更したりが必要なはずだけど今回はベンチマーク取りたいだけなのでとりあえず無視。

大阪のWEB屋です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です