注意点:
一、使用docker启动,supervisor不能在后台运行
,须要使用/usr/bin/supervisord -n -c/etc/supervisor/supervisord.conf(其中-n为–nodaemon)或者/usr/bin/supervisord并配置php
[supervisord] nodaemon=true
二、supervisor管理的进程不能之后台程序运行
。好比ph5-fpm启动不能command=/usr/sbin/php5-fpm,而应该使用command=/usr/sbin/php5-fpm –nodaemonize mysql
三、supervisor管理tomcat时,须要使用catalina.sh而非startup.sh
。缘由就是不能以非后台运行。因此command=/opt/tomcat7/bin/catalina run
四、supervisor管理nginx时,因为不能管理后台进程,因此须要配置/etc/nginx/nginx.conf,在nginx.conf的顶端配置daemon off
;nginx
user www-data; worker_processes auto; pid /run/nginx.pid; daemon off; ...
具体配置以下:web
[inet_http_server] port=localhost:9000 username=xxxx password=111 [supervisord] nodaemon=true logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP) [program:chmod] command=/bin/bash -c "chown mysql:mysql -R /opt/website/mysqldata && chown www-data:www-data -R /opt/website/www" [program:sshd] command=/usr/sbin/sshd -D [program:nginx] command=/usr/sbin/nginx stopsignal=QUIT [program:php-fpm] command=/usr/sbin/php5-fpm --nodaemonize stopsignal=QUIT [program:tomcat] command=/opt/website/tomcat7/bin/catalina.sh run startsecs=10 stopsignal=QUIT user=root
supervisor管理界面效果以下sql
参考http://stackoverflow.com/questions/32965149/supervisord-php5-fpm-exited-too-quickly
http://serverfault.com/questions/647357/running-and-monitoring-nginx-with-supervisorddocker