我已经使用"apk-add-nginx"在alpine上安装了nginx。由于某种原因,当系统启动时。Nginx崩溃。我检查了/var/log/nginx/error.logs中的日志,这是输出:
2016/07/27 12:54:59 [emerg] 7944#0: bind() to 0.0.0.0:80 failed (98: Address in use)
2016/07/27 12:54:59 [emerg] 7944#0: bind() to 0.0.0.0:8080 failed (98: Address in use)
2016/07/27 12:54:59 [emerg] 7944#0: still could not bind()
当我使用sudo netstat-nltup|grep:80时
tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 5264/nginx.conf
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 5033/nginx.conf
tcp 0 0 :::80 :::* LISTEN 5033/nginx.conf
我使用sudo fuser-k 8080/tcp在8080杀死了进程。被终止进程的id为5033 5040。即使在那之后,当我运行sudo服务nginxstart时。给我同样的错误:
* Starting nginx ...
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address in use)
nginx: [emerg] still could not bind()
* start-stop-daemon: failed to start `/usr/sbin/nginx'
* Failed to start nginx
* ERROR: nginx failed to start
这里是快速修复,如果您想让您的Nginx暂时工作,但这不是永久性的解决方案,如果您重新启动服务器,然后再次运行相同的命令,让Nginx再次运行。
这将杀死PORT 98进程
fuser -k 98/tcp
service nginx start