如果我运行: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