Using supervisord for Nginx+FastCGI+PHP
Posted: - Modified: | geek, linuxI was having problems with spawn-fcgi-standalone occasionally resulting in dead PHP processes, which caused 502 Bad Gateway errors on my site. Crontabbing an /etc/init.d/init-fastcgi start
didn't help much, so I looked for other ways to do it. Supervisord looked promising.
Here’s how to get Supervisord:
apt-get install python-setuptools easy_install supervisor
Here’s what to add to /etc/supervisord.conf:
[fcgi-program:php5-cgi] socket=tcp://127.0.0.1:9000 command=/usr/bin/php5-cgi numprocs=5 priority=999 process_name=%(program_name)s_%(process_num)02d user=www-data autorestart=true autostart=true startsecs=1 startretries=3 stopsignal=QUIT stopwaitsecs=10 redirect_stderr=true stdout_logfile=/var/log/php5-cgi.log stdout_logfile_maxbytes=10MB
So far, so good. When I kill the php process, supervisord starts it back up. Progress!
supervisord doesn’t come with an init.d script, but you can get one for Ubuntu.
You can comment with Disqus or you can e-mail me at sacha@sachachua.com.