windows下nginx无法启动

来源:互联网 发布:新开淘宝店怎么推广 编辑:程序博客网 时间:2024/05/17 08:43
启动window上的nginx总是报错,查看logs目录下的error文件,发现报错信息:
1340#3540: 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 listen的80后端口被占用.

在cmd窗口运行如下命令:
[plain]
C:\Users\Administrator>netstat -aon | findstr :80  
如果是被系统占用:
看到80端口果真被占用。发现占用的pid是4,名字是System。怎么禁用呢?
1、打开注册表:regedit
 
2、找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
 
3、找到一个REG_DWORD类型的项Start,将其改为0
 
4、重启系统,System进程不会占用80端口
 
重启之后,start nginx.exe 。在浏览器中,输入127.0.01,即可看到亲爱的“Welcome to nginx!” 了。

如果是其它的占用,就找到相应进程pid,然后kill掉,重启nginx,比如:
C:\>netstat -aon|findstr "80" 
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
端口被进程号为2448的进程占用,继续执行下面命令:
C:\>tasklist|findstr "2448" 
httpd.exe                     2560 RDP-Tcp#5                  2     16,984 K
上面很明显,是httpd这个进行占用了80端口,大家都知道httpd这个进程是apache的进程,也确实我的服务器上已经启动了apache,所以关掉apache就行了。
如果是其它的,可以直接kill掉。
当然也可以你的nginx就不要监听80端口了~~~~
0 0
原创粉丝点击