在大家看这篇文件之前我想先说明一下,这个问题直接baidu会出现很多解决方法,试验过之后发现跟其他人的情况或多或少有些许的不同,所以我这个文章只是记录一下我这次碰到这个问题解决方法,并不一定是通用的,如果有网友碰到类似问题可以用这个方法来试一试,但是能不能成功就不好说了= =!!!

问题现象:Windos服务器80端口被占用

解决过程:

        一、登陆服务器,点击“开始”——>“运行”——>输入cmd,打开windows下的msdos对话框——>输入netstat -anb——>查看80端口状态,可以看到下面这样的信息:

 

 
  
  1. TCP    0.0.0.0:80      0.0.0.0:0              LISTENING     4  System 

TCP:表示连接的协议类型

0.0.0.0:80:表示监听的IP和端口,0.0.0.0表示本机的所有IP

0.0.0.0:0:表示对端的IP和端口,这里表示任意IP的任意端口

LISTENTING:表示正处于监听状态

4:表示开启这个端口的进程的PID

System:表示开启这个端口的进程名

        二、检查并关闭IIS,由于我这个服务器准备使用apache作为Web服务器的,所以如果IIS开启肯定会占用80端口,造成apache无法启动,虽然进程是System的进程,但是本着从根本出发的想法还是看查看一下IIS的服务装态。点击“开始”——>“管理工具”——>“管理您的服务器”,单机“添加或删除角色”,等检测程序运行结束后,发现服务器角色里面IIS服务器这一项显示是开启的,于是将其关闭。再查看服务器端口状态,发现80端口依旧处于打开状态。

        三、检查服务器上运行的服务,由于之前已经关闭了IIS,所以也没有发现什么有可能影响80端口的服务。

        四、关闭HTTP服务,在网上搜索时看到一个关闭HTTP的命令:net http stop。本着尝试的心理运行了一次,结果提示http停止失败。这至少说明HTTP这个服务肯定是启动的,那么用什么办法能把它关闭,net http stop这个命令使用后,再次运行这个命令提示:目前状态不能操作服务。既然不能直接关闭,那么至少让它在服务器启动时不自动启动就好了。所以就用到了sc config http start= disabled这个命令。PS:这个命令我手动输入了3次都有问题,直接从网上复制了一个直接就运行成功了,我都快郁闷的疯掉了。

        至此,重新启动服务器后,再查看服务器端口状态80端口已经没有了,启动apache成功。