Nginx启动失败:错误10013: An attempt was made to access a socket in a way forbidden

178 阅读2分钟

Nginx启动失败:错误10013: An attempt was made to access a socket in a way forbidden

问题描述:

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

如图 80端口被占用

image.png

(3)输入 tasklist|findstr “12824”

找到12824端口对应的服务名称

(4)在控制台关闭服务 (本次是因为steam++占用了80端口,大家可以检查一下是否打开了这个软件)

(5)重新启动Nginx

2、如若占用80端口的服务/程序不能关闭,则更改nginx监听的端口号

在 nginx-1.12.1\conf 路径下,打开nginx.conf文件,将监听的端口80 修改为 8080,重新启动。

Windows平台下80端口被System占用解决办法:

在使用Windows的过程中,我们可能会要用到80端口。但是我们发现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端口了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:blog.csdn.net/k_night_lip…