近日发现Apache无故启动失败检查log也无果通过manual启动提示以下错误
(OS )通常每个套接字地址(协议/网络地址/端口)只允许使用一次: make_sock: could not bind to address :
no listening sockets available shutting down
Unable to open logs
这是由于端口被占用了把占用端口的进程停掉就可以了
如何查看那个进程占用了端口呢?
开始运行cmd 进入命令提示符 输入netstat ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项可以在任务管理器中选查看选择列
经常我们在启动应用的时候发现系统需要的端口被别的程序占用如何知道谁占有了我们需要的端口很多人都比较头疼下面就介绍一种非常简单的方法
假如我们需要确定谁占用了我们的端口
Windows平台
在windows命令行窗口下执行
C:\>netstat aon|findstr
TCP : : LISTENING
看到了吗端口被进程号为的进程占用继续执行下面命令
C:\>tasklist|findstr
Skypeexe Console K
原来是Skype占用了端口因为前段时间国外MSN停止服务公司内部也跟着转用Skype在线沟通安装了Skype由于当时没有启动Apache所以端口就被Skype趁虚而入
在Skype的菜单工具>选项中找到高级>连接将将端口与端口作为接入设备的备用端口的勾去掉这样就不占用端口了
或者将Apache的端口改为其他如等也可以解决问题