Nginx 在启动时崩溃

Nginx is crashing at boot

我已经使用 "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 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

这是快速修复,如果你想让你的 Nginx 暂时工作,但这不是永久的解决方案,如果你重新启动服务器然后再次 运行 相同的命令让 nginx 再次运行.

这将终止 PORT 98 进程

fuser -k 98/tcp
service nginx start