Nginx - 地址已被使用

Nginx - 地址已被使用

如果我运行:service nginx restart我会出现这个错误:

root@user /etc/nginx/sites-enabled # service nginx restart
Restarting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
nginx.

如何修复?我的 apache conf 也在端口 80 上运行。

答案1

您不能将 Apache 和 Nginx 绑定在同一个 80/tcp 端口上。

答案2

您不能运行两个在同一端口(本例中为端口 80)上侦听的应用程序。您可以更改 apache 或 nginx 的端口

答案3

您可以使用类似下面的方法

server {
    listen xxx.xxx.xxx.xxx:8080;

PS,使用 nginx 作为前端,使用 apache 作为后端是一种很好的做法。

答案4

首先,我们必须检查端口 80 上有多少个服务在运行。要检查这一点,您可以运行以下命令:

sudo netstat -plant | grep 80

这将向您显示哪个服务正在监听端口 80,然后您可以决定是否要按原样使用该服务或改用 Nginx。

如果是 Apache,您需要决定是否要使用 Apache 或 Nginx。

如果您只想使用 Nginx,则需要先停止 Apache:

sudo systemctl stop apache2 && sudo systemctl start nginx

相关内容