问题描述:
Nginx启动失败,无法访问localhost
原因分析:
1、进入nginx路径中,start nginx,发现窗口闪过。但是查找不到nginx进程。
2、进入 nginx-1.12.1\logs 路径下,打开error.log文件,发现有以下错误日志
2021/03/08 09:53:16 [emerg] 1820#11304: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
3、错误原因是绑定80端口错误,说明80端口被占用,nginx绑定失败。
解决方案:
1、kill掉占用80端口的程序,再次启动nginx
(1) 按键盘win+r 打开运行界面,输入cmd,确定,打开管理员界面
(2)输入
netstat -aon | findstr :80
netstat -aon | findstr :80
如图 80端口被占用
(3)输入
tasklist|findstr “4”
找到4端口对应的服务名称
(4)在控制台关闭服务
(5)重新启动Nginx
2、如若占用80端口的服务/程序不能关闭,则更改nginx监听的端口号
在 nginx-1.12.1\conf 路径下,打开nginx.conf文件,将监听的端口80 修改为 8080,重新启动。
Windows平台下80端口被System占用解决办法:
(1)查找端口占用。
netstat -ano | findstr ":80 "
tasklist /fi “PID eq 4”
(2)80端口被System占用。
我们在运行中输入 regedit 打开注册表。
(3)找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
(4)找到项Start,将其值改为0
(5)重启系统,System进程就不会占用80端口了。