Skype占用80端口导致Apache启动不了

08-20

近日发现Apache无故启动失败,检查log也无果,通过manual启动提示以下错误:

(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。: make_sock: could not bind to address 0.0.0.0:80

no listening sockets available, shutting down

Unable to open logs

这是由于80端口被占用了,把占用80端口的进程停掉就可以了。

如何查看那个进程占用了80端口呢?

开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"

经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法

假如我们需要确定谁占用了我们的80端口

Windows平台

在windows命令行窗口下执行:

C:>netstat -aon|findstr "80"

TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448

看到了吗,端口被进程号为2448的进程占用,继续执行下面命令:

C:>tasklist|findstr "2448"

Skype.exe 2016 Console 0 16,064 K

原来是Skype占用了80端口,因为前段时间国外MSN停止服务,公司内部也跟着转用Skype在线沟通,安装了Skype,由于当时没有启动Apache,所以80端口就被Skype趁虚而入。

在Skype的菜单“工具>选项”中,找到“高级>连接”,将“将80端口与443端口作为接入设备的备用端口”的勾去掉,这样就不占用80端口了。

或者将Apache的端口改为其他,如8080等,也可以解决问题。