我使用“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处杀死了进程。被杀死的进程的ids是 5033 5040 。甚至在那之后我运行 sudo service nginx start 。给我同样的错误:
* 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
答案 0 :(得分:0)
这是快速修复,如果你想让你的Nginx现在工作,但这不是永久的解决方案,如果你重新启动服务器然后再次运行相同的命令再次获得nginx。
这会杀死PORT 98进程
fuser -k 98/tcp
service nginx start