80端口一般被当做网页服务器的默认端口,使用本机搭建服务器环境的时候,都会默认使用80端口来作为网页访问端,但是有的时候80端口会被其他的不明身份的程序占用,导致 Apache 启动失败,修改 Apache 的默认端口后访问本机地址又非常麻烦。下面介绍一下如果80端口被占用后应该如何处理。 今天由于跑项目发现nginx怎么也跑不起来,打开报错日志如下图:
最后发现是我的80端口一直被占用,于是开始了我的百度之旅。
一、先使用netstat命令查看一下80端口是被谁占用了
1、使用电脑快捷组合建Win+R打开快速运行,在运行窗口中输入“cmd”命令点击回车确定调出管理员命令提示符,紧接着输入“netstat -ano |more”。如下图所示:
2、点击回车后,显示出一大段文字,找到 "本地地址" 为 0.0.0.0:80 的一行,在行的最后我们会看到 PID为"4"。记住次PID;如下图所示:
3、打开Windows任务管理器,在进程中找到PID为"4"的程序,如下图所示:显示80端口被pid4 system占用。
二、分析端口被占用原因: 该进程是Http.sys。它是http API的驱动组件,Http栈服务器。如果该端口被Http.sys占用,说明一些正在使用http.sys的应用程序在运行。通过netsh http show servicestate 命令能找出是哪个应用程序在使用Http.sys。三、解决问题:可以禁用http.sys 禁用http.sys进程可以通过命令提示符来完成,首先输入net stop http,然后确认继续操作,如下图:
在输入Sc config http start= disabled即可停止该项服务。
这个时候80端口就会被释放,你可以重启你的应用程序啦!!!!!!!!! ---------------------------------------------------------------------------------------------------------------- 文章转载自 www.kaotop.com
|