任何时候你都可以开始做自己想做的事

搜索|
80端口被System占用最全解决方案
发布时间:2024-09-07 01:36:45

在win系统下安装nginx,如果出现启动出现失败,错误信息提示80端口被占用,排查方式如下:

首先查找占用80端口的程序

进入命令提示行(开始运行输入 CMD),输入命令netstat –ano,就可以看到本机所有端口的使用情况,
或者单独查看80端口的占用:netstat -ano | findstr "80"

一般80端口在第一行,截图显示,端口已经被占用,PID 中写明 LISTENING 4
80端口被System占用最全解决方案(图1)

再输入
tasklist 或到任务管理器详细信息中查看 PID 为4 的程序为System

80端口被System占用最全解决方案(图2)

80端口被System占用最全解决方案(图3)

取消system 进程对80端口的占用

这个网上就有很多不同解决办法,可能是不同的程序占用了system 进程

情况一:关闭IIS服务

到控制面板中关闭微软自带的IIS服务(www服务)

情况二:关闭SQL Server Reporting Services

经过查询,发现占用80端口的确是 SQL Server 2008 里面的组件——SQL Server Reporting Services (MSSQLSERVER)。是 SQL Server 的日志系统,就是他好端端的突然占用了80端口,而且对于普通人来讲,这个组件的作用没啥用,关掉也是节约资源。
关闭方法很简单,在运行框中输入 services.msc ,进入服务窗口。或者直接在开始菜单里面的搜索框中输入“服务”即可打开。然后找到 SQL Server Reporting Services (MSSQLSERVER) 这个服务,然后停止,被占用的80端口就被释放出来了。你也可以设置它的启动方式为“禁用”。

80端口被System占用最全解决方案(图4)

情况三:修改注册表

1、在电脑桌面使用快捷组合键Win+R打开快速运行,在窗口中输入“regedit”命令后点击回车确定调出注册表编辑器
2、调出注册表编辑器后,依次展开至HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/HTTP
3、接着在选中HTTP,选中之后,我们就会看到右边有一个Strart文件,然后双击,将其数据值修改为“0”


情况四: 查看http服务状态

使用命令 netsh http show servicestate 查看一下当前的http服务状态
80端口被System占用最全解决方案(图5)

可以看到 80端口 是被进程7680占用

到任务管理器处查看PID:7680 就是

SQL Server Reporting Services

或者其他的软件占用,就可针对性的关闭对应占用的软件。

关于SQL Server Reporting Services服务的知识:

SQL Server Reporting Services (SSRS) 是 SQL Server 的一个组件,用于创建、管理和发布报表。如果你发现 SSRS 占用了80端口,并且希望禁用该服务,可以考虑以下几个方面:

禁用 SSRS 服务

禁用 SSRS 服务可以释放80端口,但这会影响报表服务的功能。以下是禁用 SSRS 服务的步骤:

  1. 打开服务管理器

    • 按 Win + R 打开“运行”对话框。

    • 输入 services.msc 并按 Enter 键。

  2. 找到 SSRS 服务

    • 在服务列表中找到 SQL Server Reporting Services (MSSQLSERVER) 服务。

    • 右键点击该服务,选择 “属性”。

  3. 更改启动类型

    • 在服务属性窗口中,将 “启动类型” 更改为 “手动” 或 “禁用”。

    • 点击 “应用” 并 “确定”。

  4. 停止服务

    • 如果服务当前正在运行,可以点击 “停止” 按钮来停止服务。

禁用 SSRS 的影响

禁用 SSRS 服务会导致以下后果:

  1. 报表不可用

    • 用户将无法访问通过 SSRS 创建和发布的报表。

    • 如果你的应用程序或业务流程依赖于 SSRS 报表,那么这些功能将失效。

  2. 集成服务中断

    • 如果 SSRS 与其他系统或应用程序(如 BI 工具、仪表板、自定义应用程序等)集成了,禁用 SSRS 会导致这些集成中断。

  3. 管理报表功能丧失

    • 数据库管理员和开发人员将无法通过 SSRS 进行报表管理、监控和调试。

替代方案

如果你需要释放80端口供 Nginx 使用,但又不想完全禁用 SSRS,可以考虑以下替代方案:

  1. 更改 SSRS 的端口

    • 你可以将 SSRS 配置为监听其他端口,例如8080。

    • 这样既可以让 SSRS 继续运行,又可以让 Nginx 使用80端口。

  2. 配置 Nginx 代理

    • 如果你希望 SSRS 继续使用80端口,但同时也想让 Nginx 运行在同一台服务器上,可以配置 Nginx 作为反向代理,将特定的请求转发到 SSRS 的端口。

更改 SSRS 监听端口

更改 SSRS 监听端口的具体步骤如下:

  1. 打开 SQL Server Configuration Manager

    • 搜索并打开“SQL Server Configuration Manager”。

  2. 找到 SSRS 服务

    • 在“SQL Server Network Configuration”节点下找到 Reporting Services (MSSQLSERVER) 服务。

  3. 更改端口

    • 右键点击该服务并选择 “Properties”。

    • 在 “Web Service URL” 选项卡中,更改 SSRS 的端口,例如从80更改为8080。

    • 保存更改并重新启动 SSRS 服务。