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。

答案1

您不能让多个应用程序监听设备上的某个端口。您有以下选择:

  1. 删除 Nginx 或 Apache。只使用一个。

  2. 保留两者并将 Apache 或 Nginx 移至另一个端口。从那里,您可以让 port80 服务器代理另一个,以便它可用于某些域(请参阅代理密码或者mod_proxy)。

  3. 保留两者并将 Apache 和 Nginx 移至不同的 IP 地址或接口。如果您的服务器配置为 10.0.0.3 和 10.0.0.4(仅举例),您可以将第一个分配给 Apache,将第二个分配给 Nginx,并且两者在各自的 IP 上都可以有一个端口 80。这会对 DNS 产生连锁影响,但这并不难解释。

    这确实意味着您需要停止在两个服务器中使用 0.0.0.0 作为设置。

答案2

您需要更改 Apache 或 Nginx 的配置端口。完成此操作后,您需要使用您使用的“service”命令重新启动重新配置的服务器。

阿帕奇

编辑/etc/apache2/ports.conf并将以下行中的 80 更改为:

Listen 80

寻找一些不同的东西。

Nginx

编辑/etc/nginx/sites-enabled/default并将以下行中的 80 更改为:

listen 80;

对于不同的东西,这应该靠近顶部,并且位于第一server {部分。

相关内容