前言:

在项目中用到nginx,启动时闪退,查看错误日志,给出的错误如下:

nginx: [emerg] 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)



分析:

nginx的默认端口是80,通过错误日志可以看出是80端口被占用导致了nginx无法启动。

解决办法:

1、按键win+R打开运行界面,输入cmd进入控制台界面

2、输入netstat -ano | findstr ":80 "

通过上述命令查看80端口占用情况,查看后,pid的值为4。

nginx打开闪退 windows nginx闪退_80端口

3、输入tasklist /fi "PID eq 4"

通过上述命令查看4所对应的服务名称,为System

nginx打开闪退 windows nginx闪退_nginx_02

4、在运行中输入regedit打开注册表编辑器。

nginx打开闪退 windows nginx闪退_nginx打开闪退_03

5、找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP

nginx打开闪退 windows nginx闪退_nginx80端口被占用_04

6、找到Start,右键修改将其制改为4。

nginx打开闪退 windows nginx闪退_nginx80端口被占用_05

7、重新启动系统,System进程就不会占用80端口,nginx就可以正常启动。

可以通过步骤2查看80端口占用情况

8、再次启动nginx,可以正常启动,可以在任务管理器中查看到nginx的进程。

nginx打开闪退 windows nginx闪退_nginx打开闪退_06

总结:

这次的nginx启动闪退是由于System占用了80端口所导致的,通过修改注册表编辑器中HTTP下Start所对应的值来释放System所占用的80端口。从而是nginx启动正常。


转自:



前言:

在项目中用到nginx,启动时闪退,查看错误日志,给出的错误如下:

nginx: [emerg] 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)



分析:

nginx的默认端口是80,通过错误日志可以看出是80端口被占用导致了nginx无法启动。

解决办法:

1、按键win+R打开运行界面,输入cmd进入控制台界面

2、输入netstat -ano | findstr ":80 "

通过上述命令查看80端口占用情况,查看后,pid的值为4。

nginx打开闪退 windows nginx闪退_80端口

3、输入tasklist /fi "PID eq 4"

通过上述命令查看4所对应的服务名称,为System

nginx打开闪退 windows nginx闪退_nginx_02

4、在运行中输入regedit打开注册表编辑器。

nginx打开闪退 windows nginx闪退_nginx打开闪退_03

5、找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP

nginx打开闪退 windows nginx闪退_nginx80端口被占用_04

6、找到Start,右键修改将其制改为4。

nginx打开闪退 windows nginx闪退_nginx80端口被占用_05

7、重新启动系统,System进程就不会占用80端口,nginx就可以正常启动。

可以通过步骤2查看80端口占用情况

8、再次启动nginx,可以正常启动,可以在任务管理器中查看到nginx的进程。

nginx打开闪退 windows nginx闪退_nginx打开闪退_06

总结:

这次的nginx启动闪退是由于System占用了80端口所导致的,通过修改注册表编辑器中HTTP下Start所对应的值来释放System所占用的80端口。从而是nginx启动正常。