我使用的是Windows和WSL的开发环境,Docker和nginx直接安装在我的WSL机器上来处理代理反向,但现在当我试图启动nginx时,我得到了错误“98:Unknown error”并使用命令“sudo nginx -t”,它显示“bind()to 0.0.0.0:80 failed”和“0.0.0.0:443 failed”,我该怎么做才能修复这个问题?
vfh0ocws1#
ubuntu wsl预装了apache web服务器,它使用默认的web端口(80),所以当你尝试用默认设置(也是在端口80上)启动nginx时,它会有bind错误当然,端口80已被使用的原因有很多,您需要检查哪个应用程序正在使用它
sudo systemctl status apache2
localhost
这个解决方案是当apache2是罪魁祸首时,对于任何其他可能使用端口80的应用程序,您需要找到如何禁用它
sudo systemctl stop apache2
sudo systemctl disable apache2
sudo systemctl start nginx
sudo systemctl enable nginx
当然,你可以改变nginx使用的端口,比如use other port on nginx
如果您决定更改nginx端口,请注意,任何监听其他应用使用的端口的主机都会导致nginx无法启动,所以如果您在nginx配置中有多个主机,您也需要更新它们
1条答案
按热度按时间vfh0ocws1#
问题
ubuntu wsl预装了apache web服务器,它使用默认的web端口(80),所以当你尝试用默认设置(也是在端口80上)启动nginx时,它会有bind错误
当然,端口80已被使用的原因有很多,您需要检查哪个应用程序正在使用它
如何查看
选项一:
sudo systemctl status apache2
选项二:
localhost
解决方案
这个解决方案是当apache2是罪魁祸首时,对于任何其他可能使用端口80的应用程序,您需要找到如何禁用它
sudo systemctl stop apache2
停止sudo systemctl disable apache2
sudo systemctl start nginx
sudo systemctl enable nginx
当然,你可以改变nginx使用的端口,比如use other port on nginx
如果您决定更改nginx端口,请注意,任何监听其他应用使用的端口的主机都会导致nginx无法启动,所以如果您在nginx配置中有多个主机,您也需要更新它们