nginxでfastcgiを使うとき


Pythonでweb app作ったので動かそうとサーバ周りをいろいろやってみたのだがfastcgiでの動作方法がいまいちよくわからなかった。

apacheのようにhoge.fcgiを指定してやれば動く、というものではないらしくどうすればいいのか結構時間を費やしてしまった。

1つのやり方としてspawn-fcgiを使ってプロセスを生成してやればいいらしい。 それをnginx.confのfastcgi_passに指定してやることでいいみたいだ。

試しにspawn-fcgiを単体起動して動かしてみた。

sudo spawn-fcgi -f test.fcgi -a 127.0.0.1 -p 9001 -u www-data -P /var/run/spawn-fcgi-moin.pid

こんな感じで起動してやればいい。

指定したipとportをnginx.confのfastcgi_passに指定して動けばおk

そんなかんじで。

起動スクリプト書いてみたので参考としてどうぞ

自動起動する場合はUbuntuはchkconfigではなくsysv-rc-confを使うこと。

sudo sysv-rc-conf test_app on

またはupdate-rc.d