supervisor 監控nginx ,寫好配置文件之后,發現一直在重啟,排查之后發現是命令不對:
command = /usr/local/bin/nginx 這個命令默認是后台啟動,但是supervisor不能監控后台程序,所以supervisor就一直執行這個命令。
加上-g 'daemon off;'這個參數可解決這問題,這個參數的意思是在前台運行。
command = /usr/local/bin/nginx -g 'daemon off;'
完整的supervisor 監控nginx 配置如下:
[program:nginx] command = /usr/local/bin/nginx -g 'daemon off;' stdout_logfile=/Users/ddios/nginx_stdout.log stdout_logfile_maxbytes=10MB stderr_logfile=/Users/ddios/nginx_stderr.log user = ddios stderr_logfile_maxbytes=10MB autostart=true autorestart=true