1. 正常情况直接运行  start nginx.exe 不能开启成功,因为 80 端口被占用。提示: 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)   可以查看 ngxin 的日志,Logs/errors.log 文件

2. 查看 端口占用情况:netstat -ano | findstr 0.0.0.0:80  发现是 PID=4 ,这个是系统进程中的 http 服务。所以需要关闭 HTTP服务

3. 管理员 cmd: sc config http start= disabled (注意等号右侧的空格)。

这一项主要修改的实质地方是注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP

修改前:

修改后:

有的电脑运行完命令可能 imagePath,也会被修改掉:例如变成这样:\SystemRoot\\SystemRoot\\SystemRoot\system32\drivers\HTTP.sys  这个路径显然是错误的,这个键主要关联的是 system32\drivers\HTTP.sys 这个文件。所以在开启 http 服务的时候会遇到 系统错误 123,文件目录、卷标出错

4. 重启电脑

5. 开启 ngixn ,start nginx.exe ,会提示 开启成功

6. 然后 开启 http 服务,否则 IIS 不能使用,命令:sc config http start=demand & net start http

7. 打开 IIS 修改所有原来绑定 80 端口的网站,更换为 8001.。..等等随便

8. 打开 服务(services.msc)找到 World Wide Web Publishing Service  这个服务。点击启动。(这个服务就是 IIS 的主服务) 如果启动失败,提示缺少 依赖或组,那么右键属性查看依赖的服务是否都开启成功。 这个服务 依赖于系统 HTTP 服务, 可能在依赖列表没有,这就是第6步必须操作的原因。

或者也可以从 ”服务器“这个软件进行操作,开启 W3SVC 服务 和 IIS-ADMIN。(这个可选把?)

9. 这样就实现了 windows 中ngixn和IIS 共存,然后使用  ngixn 监听80 然后转发到不同端口进行处理。


可能会遇到的问题:

1. 配置好的电脑突然重启,这时候只要 start nginx.exe 然后 net start http 服务 然后 启动 W3SVC 服务

2. 多次运行了 sc config http start= disabled  这个命令,导致注册表错乱。 demand 对应的注册表 Start 项的 3, disabled 对应 4.

3. 还有一种解决IIS占用 80为题就是,直接打开 IIS 找到 绑定 80 端口的网站,点击右侧绑定,修改端口,然后保存重启。就 不占用了。

参考网址:

https://blog.csdn.net/wh_forever/article/details/51734244

https://blog.csdn.net/u010792238/article/details/22661767

windows 开启 nginx 监听80 端口 以及 禁用 http 服务后,无法重启 HTTP 服务,提示 系统错误 123,文件目录、卷标出错的更多相关文章

  1. 【转载】windows 开启 nginx 监听80 端口 以及 禁用 http 服务后,无法重启 HTTP 服务,提示 系统错误 123,文件目录、卷标出错

    https://www.cnblogs.com/TianyuSu/p/9509873.html location / { proxy_set_header Host $Host; proxy_set_ ...

  2. windows下nodejs监听80端口

    windows下nodejs监听80端口时提示端口被占用报错,解决方案如下: 1.cmd---netstat -ano查看是什么程序占用了80端口: 2.控制面板--管理工具--服务--停止 SQL ...

  3. Linux centosVMware 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

    一.配置Tomcat监听80端口 关闭tomcat报错 [root@davery src]# /usr/local/tomcat/bin/shutdown.sh 重装tomcat即可 vim /usr ...

  4. 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

    6月27日任务 16.4 配置Tomcat监听80端口16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志扩展邱李的tomcat文档 https://www.linuser ...

  5. 【网络通信】服务器端Socket监听80端口,建立连接传输数据时也是使用的80端口么?

    1. 服务器端Socket监听80端口,建立连接传输数据时也是使用的80端口么? 答:对.建立连接时服务器会分配一个新的Socket,但是用的源端口号还是80端口.套接字是由协议类型.源IP.目的IP ...

  6. Tomcat介绍、安装jdk、安装Tomcat、配置Tomcat监听80端口

    1.Tomcat介绍 2.安装jdk下载:wget -c http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8 ...

  7. 配置Tomcat监听80端口 配置Tomcat虚拟主机 Tomcat日志

    配置Tomcat监听80端口 • vim /usr/local/tomcat/conf/server.xml Connector port=" protocol="HTTP/1.1 ...

  8. nginx监听相同端口,根据域名请求不同的server

    nginx监听相同端口,根据域名请求不同的server 学习了:https://blog.csdn.net/liaosiqian/article/details/54861270 注意其中用的是rew ...

  9. 普通用户从非80端口启动tomcat,通过端口转发监听80端口

    linux下小于1024的端口都需要root去绑定. root权限启动tomcat是不明智的,可以使用非root权限启动tomcat监听8080端口,然后利用端口转发实现对80端口的监听. 端口转发: ...

随机推荐

  1. python的元组及其书写规矩

    1.元组 (1)元组看起来犹如列表,但使用圆括号而不是方括号来标识.定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样. (2)元组的元素不可修改,但是可以赋值. 2.规矩 (1)缩进:建议 ...

  2. C语言的前世今生

    1.计算机语言的发展 机器语言:其实就是二进制0和1,最小为00000000,最大为11111111,8位比特为1个字节(byte),1k=1024byte,1m=1024k,1g=1024m[第一代 ...

  3. Objective C 中的nil,Nil,NULL和NSNull理解

    kenyo网友的原创说法是:做IOS开发的估计都对Objective-C的内存管理机制很头疼,一不小心程序就会出内存泄露,我也不例外,前几天被指针的置nil与release给搞惨了,今和大家详细解说一 ...

  4. 设备信息工具pv-jd快速上手

    pv-jd 这是一个判断设备信息的小工具,可以判断出移动端还是PC端,提供了多种API 快速开始 安装npm install pv-jd -S 示例 import {judgeDevice, judg ...

  5. ECMAscript 变量作用域

    使用var操作符声明的变量与未使用var操作符声明的变量区别 未使用var操作符声明 function test() { message='hi'; console.log(message); } c ...

  6. Java使用POI操作Excel文件

    1.简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式文件读和写的功能. 2.依赖的jar包 <!-- ex ...

  7. Liunx网络管理

    本地yum源 yum(Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及CentOS 中的 Shell 前端软件包管理器.基于 RPM 包管理,能 ...

  8. Selenium2学习(七)-- 定位一组元素find_elements

    前言 前面的几篇都是讲如何定位一个元素,有时候一个页面上有多个对象需要操作,如果一个个去定位的话,比较繁琐,这时候就可以定位一组对象. webdriver 提供了定位一组元素的方法,跟前面八种定位方式 ...

  9. MySQL的基础(优化)2

    1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉 ...

  10. log4go的日志滚动处理——生产环境的适配

    日志处理有三类使用环境,开发环境DE,测试环境TE,生产环境PE. 前两类可以看成是一类,重要的是屏幕显示--termlog.生产环境中主要用的是socklog 和 filelog,即网络传输日志和文 ...