spawn-fcgi & phpの設定
巷で高速だと評判なHTTPサーバーnginxでPHPを使用する場合、ApacheのようにPHPのモジュールをインストールして終わり、という訳にはいかない。
nginx + PHPの方法はいくつかあるようなのだが、ここでは、lighttpd付属のspawn-fcgiでPHPが使えるようになるまでの手順を紹介する。
spawn-fcgiをまともに使うのが初めてなので、記念にメモ。pig-monkey.com » Blog Archive » An Ubuntu VPS on Slicehost: Web Serverを参考にした。というか、そのまま。
php5をインストール
1 | $ sudo aptitude install php5-common php5-cgi php5-mysql php5-cli |
本来spawn-fcgiはlighttpdのおまけの一つなので、lighttpdをダウンロードしてmakeする必要がある(lighttpdのインストールは必要ない) 最初にlighttpdをコンパイルするのに必要なパッケージをインストール。これらが、無いとconfigureの途中で止まる。
1 | $ sudo aptitude install libpcre3-dev libbz2-dev zlib1g-dev |
lighttpd ダウンロード & インストール
1 2 3 4 5 6 | $ wget http://www.lighttpd.net/download/lighttpd-1.4.19.tar.gz $ tar xvzf lighttpd-1.4.19.tar.gz $ cd lighttpd-1.4.19 $ ./configure $ make $ sudo cp src/spawn-fcgi /usr/bin/spawn-fcgi |
php5-cgi起動スクリプト(/usr/bin/php5-fastcgi)作成
1 2 | #!/bin/sh /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -C 2 -f /usr/bin/php5-cgi |
これで、127.0.0.1:9000でFastCGIプロセスが口をあけて待ってます。実行権限もお忘れなく。
1 | $ sudo chmod +x /usr/bin/php5-fastcgi |
ついでにリンクも作成
1 | $ sudo ln -s /usr/bin/php5-fastcgi /usr/bin/php-fastcgi |
起動スクリプト(/etc/init.d/fastcgi)を用意
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #!/bin/bash PHP_SCRIPT=/usr/bin/php-fastcgi RETVAL=0 case"$1" in start) echo "Starting fastcgi" $PHP_SCRIPT RETVAL=$? ;; stop) echo "Stopping fastcgi" killall -9 php5-cgi RETVAL=$? ;; restart) echo "Restarting fastcgi" killall -9 php5-cgi $PHP_SCRIPT RETVAL=$? ;; *) echo "Usage: php-fastcgi {start|stop|restart}" exit 1 ;; esac exit $RETVAL |
こっちも、パーミッションの設定お忘れなく
1 | $ sudo chmod 755 /etc/init.d/fastcgi |
試しに起動してみる
1 | $ sudo /etc/init.d/fastcgi start |
「child spawned successfully」と表示されるのを確認したうえで、サーバ起動時に立ちあがるように設定。
1 | $ sudo update-rc.d fastcgi defaults |
これでphpが使えるようになりました。
こちらもあわせてどうぞ
- php-cgiがよくハングしてお困りの方へ
- suexecの設定を変更する方法
- Firebird 2.0が起動しなくなった
- Ubuntu 7.10でtoo old CPU
- JRubyOnRails+JDBC+firebirdの設定方法
Comments
コメントをどうぞ...
