Kar*_*ikJ 8 port nginx supervisord
我正在使用nginx和Supervisor.我的supervisord.conf文件内容如下:
[supervisord]
nodaemon=true
logfile=/var/log/supervisor/supervisord.log
[program:nginx]
command=/usr/sbin/nginx -c /etc/nginx/nginx.conf
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stderr_logfile=/var/log/supervisor/%(program_name)s.log
redirect_stderr=true
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock
[unix_http_server]
file=/tmp/supervisor.sock ; path to your socket file
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
Run Code Online (Sandbox Code Playgroud)
在确保netstat -nltp表示所有端口都是免费的之后我启动了supervisord,但是请找到下面的nginx错误日志:
2014/09/10 20:39:00 [emerg] 277#0: bind() to 0.0.0.0:81 failed (98: Address already in use)
2014/09/10 20:39:00 [emerg] 277#0: bind() to 0.0.0.0:18081 failed (98: Address already in use)
2014/09/10 20:39:00 [emerg] 277#0: bind() to 0.0.0.0:18082 failed (98: Address already in use)
2014/09/10 20:39:00 [emerg] 277#0: bind() to 0.0.0.0:18083 failed (98: Address already in use)
2014/09/10 20:39:00 [emerg] 277#0: bind() to 0.0.0.0:10080 failed (98: Address already in use)
2014/09/10 20:39:00 [emerg] 277#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2014/09/10 20:39:00 [emerg] 277#0: bind() to 0.0.0.0:28080 failed (98: Address already in use)
2014/09/10 20:39:00 [emerg] 277#0: bind() to 0.0.0.0:18080 failed (98: Address already in use)
2014/09/10 20:39:00 [emerg] 277#0: bind() to 0.0.0.0:20081 failed (98: Address already in use)
2014/09/10 20:39:00 [emerg] 277#0: bind() to 0.0.0.0:81 failed (98: Address already in use)
Run Code Online (Sandbox Code Playgroud)
但是netstat -nltp命令给了我以下内容:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:28080 0.0.0.0:* LISTEN 246/nginx: master p
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 246/nginx: master p
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 246/nginx: master p
tcp 0 0 0.0.0.0:20081 0.0.0.0:* LISTEN 246/nginx: master p
tcp 0 0 0.0.0.0:18080 0.0.0.0:* LISTEN 246/nginx: master p
tcp 0 0 0.0.0.0:10080 0.0.0.0:* LISTEN 246/nginx: master p
tcp 0 0 0.0.0.0:18081 0.0.0.0:* LISTEN 246/nginx: master p
tcp 0 0 0.0.0.0:18082 0.0.0.0:* LISTEN 246/nginx: master p
tcp 0 0 0.0.0.0:18083 0.0.0.0:* LISTEN 246/nginx: master p
Run Code Online (Sandbox Code Playgroud)
这意味着nginx已启动并正在运行.但是,是否主管试图启动多个nginx进程,或者它没有从nginx获取它已经启动的信号.任何人都可以对此有所了解吗?
您应该添加-g 'daemon off;'
到 nginx 参数中。
Supervisor 希望服务在前台运行。默认情况下,nginx 会分叉(守护进程)到后台并退出。Supervisor退出时会认为nginx死掉了,并尝试重新启动。
在旧版本的 nginx 中daemon off
,不鼓励这样做,但现在情况已不再如此。
归档时间: |
|
查看次数: |
1469 次 |
最近记录: |