« 上一篇下一篇 »

服务器80端口被占用怎么办?如何解决香港云服务器的80端口被占用?

   有时我们在启动服务器应用的时候经常发现我们需要使用的端口被别的程序占用,经常遇到的就是80端口,但是我们又不知道是被谁占用,这时候我们需要找出“真凶”,如何做到呢?

80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,主要用于WWW(World Wide Web)即万维网传输信息的协议。搭建网站主要使用的也是80端口,但是当80端口被其他的程序占用时应该怎么办呢?

一、在windows下查看80端口占用情况?是被哪个进程占用?如何终止进程?
     这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:
      netstat -aon | findstr "80"

      然后会出现占用80端口的进程PID
             Proto  Local Address                Foreign Address                            State            PID
        


      可以看出80端口被进程号为4306的程序占用.
      tasklist | findstr "4306"
      进程名                                        PID    会话名                          会话         内存使用
      

     很明显,是httpd占用了80端口;httpd.exe是Apache相关程序,是服务器软件中的一个进程,这是属于正常的使用。
     不过,并不是只有httpd.exe进程会占用80端口,可能有其他的程序也会占用80端口,当你不知道占用端口的进程是干什么用的时,最好先查一下,避免关闭了正常使用的程序造成不必要的麻烦,如果确定是无效或恶意占用的程序就可以执行下面的命令.
      taskkill /pid 4306 /F
      成功: 已终止 PID 为 4306 的进程。
      这表示使用上面的命令已将PID为4306的进程终止.(这一步同样可以在任务管理器中执行,httpd.exe就是任务管理器中的映像名称,选中它,点击"结束进程"即可)
       tasklist | findstr "4306"
      再次确认是否成功终止,如果成功终止此次执行命令后应返回空.


   二、linux下如何查看80端口占用情况?是被哪个进程占用?怎么终止占用进程?

     查询端口是否被占用,被哪个进程占用有两种方式:

1、netstat -anl | grep "80" ;

2、lsof -i:80

终止进程的方式:kill pid

 

小结:

  由于80端口是上网协议中最常用的协议,所以经常造成80端口被占用。遇到这类问题大家千万不要慌张,这只是小事,希望看了这个教程以后,大家对端口被占用的情况能从容面对,相信大家下次遇到此类问题应该就不会再次感到手足无措了。