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

当Nginx启动失败并显示'An attempt was made to access a socket in a way forbidden by its access permissions'错误时,通常是由于80端口被其他程序占用。解决方法包括:通过netstat和tasklist命令找出占用端口的进程并关闭,或者直接修改nginx配置文件,将监听端口改为8080。如果80端口被System占用,可修改注册表中HTTP服务的启动项为0,然后重启系统。

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端口被占用
在这里插入图片描述
(3)输入 tasklist|findstr “12824”

找到12824端口对应的服务名称
在这里插入图片描述
(4)在控制台关闭服务
在这里插入图片描述
(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端口了。

问题参考:
https://blog.youkuaiyun.com/qq_40646143/article/details/79593958
https://jingyan.baidu.com/article/08b6a591b23ebe14a8092231.html

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值