windows下nginx的安装、使用及80端口被占用导致nginx不能启动问题的解决

目前nginx已被广泛使用,今天讲讲nginx在Windows下的搭建。

1 安装

nginx官网下载一个Windows下使用的最新版本,目前是1.19.2,如图:

windows下nginx的安装、使用及80端口被占用导致nginx不能启动问题的解决

下载下来解压缩就可以。

windows下nginx的安装、使用及80端口被占用导致nginx不能启动问题的解决

2 80端口占用解决

问题描述

运行nginx,报错:

[emerg] 10348#10940: 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端口,但Windows下80端口是被占用的,查一下:

cmd命令   运行  netstat -aon | findstr :80 

windows下nginx的安装、使用及80端口被占用导致nginx不能启动问题的解决

被一个pid为4的进程占用,查一下:

打开任务管理器,寻找进程pid,右键转服务,看一下是哪个服务占用了。

windows下nginx的安装、使用及80端口被占用导致nginx不能启动问题的解决

是个系统进程,任务管理器里看一下:

windows下nginx的安装、使用及80端口被占用导致nginx不能启动问题的解决

解决方法一,注册表问题。

参考 http://blog.csdn.net/dongdong9223/article/details/60570969

1、打开注册表:regedit

2、找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP

3、在右边找到Start这一项,将其改为0

4、重启系统,System进程不会占用80端口

解决方法二,iis(World Wid Web Publishing Service)占用。

参考 https://www.cnblogs.com/firstdream/p/8057646.html

1·、 netsh http show servicestate 查看一下当前的http服务状态

2、打开任务管理器,寻找进程pid,右键转服务,看一下是哪个服务占用了,关闭服务。

(一般是IIS的World Wid Web Publishing Service 万维网服务的问题。)

解决后,开启nginx,任务管理中查看是否开启成功。