引用地址:http://www.cnblogs.com/maliyahooo/archive/2010/02/04/1663515.html
今天早上来公司,开电脑,我的电脑上安装的是XAMPP集成建站开发包,打开XAMPP控制面板,点击Apache的start按钮,却发现始终不出现那个绿底黑字的Running.怎么好端端的Apache突然启动不起来,昨天关机睡觉之前都好好的,过了一晚上就这样了,难道他和我一样最近比较劳累,到现在还没睡醒,赖床罢工了啊?当然了,这只是个玩笑话,出现了问题就要及时解决撒。
开始分析问题解决问题。
打开Aapche的日志文件error.log。发现有如下的错误日志记录
(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : make_sock: could not bind to address 0.0.0.0:443 no listening sockets available, shutting down Unable to open logs
大意是说443的端口被占用了,赶快google一下。找到了也出现过此类问题的人,借鉴了他的解决方法。
通过cmd命令行直接查看有无程序占用0.0.0.0:443:
1、运行cmd,然后输入netstat -ano,回车; 2、查看开头几行包含0.0.0.0:443的那一行最后的pid,为几个数字,把这几个数字记下来; 3、启动“任务管理器”——“进程”,在“工具栏”——“选择列”前面的框里打上勾; 4、然后找到与刚才那个pid对应的是哪个程序,很容易就会找到,就是它与0.0.0.0:443进行了绑定(bind);
原来进程VisualSVNServer.exe进程占用了0.0.0.0.0:443,我安装在xp下的SVN服务器。结束这个进程,再点击Apache的Start按钮,终于出现了那个绿底黑字的Running ,嘿嘿。
最后在这次解决问题的过程中使用了一个Windows的dos命令:netstat
在网上摘抄了这个命令的用法,记录下来,当作参考
netstat的全部参数及说明如下:
显示协议统计信息和当前 TCP/IP 网络连接。
显示协议统计信息和当前 TCP/IP 网络连接。
NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]
-a 显示所有连接和监听端口。
-b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件
拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列
被显示。这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,
直到 TCP/IP 部分。注意此选项可能需要很长时间,如果没有足够权限,可能失败。
-e 显示以太网统计信息。此选项可以与 -s选项组合使用。
-n 以数字形式显示地址和端口号。
-o 显示与每个连接相关的所属进程 ID。
-p proto 显示 proto 指定的协议的连接;proto 可以是
下列协议之一: TCP、UDP、TCPv6 或 UDPv6。
如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议 之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-r 显示路由表。
-s 显示按协议统计信息。默认地,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP
和 UDPv6 的统计信息; -p 选项用于指定默认情况的子集。
-v 与 -b 选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组件。
interval 重新显示选定统计信息,每次显示之间暂停时间间隔(以秒计)。按 CTRL+C 停止重新
显示统计信息。如果省略,netstat 显示当前配置信息(只显示一次)
-b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件
拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列
被显示。这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,
直到 TCP/IP 部分。注意此选项可能需要很长时间,如果没有足够权限,可能失败。
-e 显示以太网统计信息。此选项可以与 -s选项组合使用。
-n 以数字形式显示地址和端口号。
-o 显示与每个连接相关的所属进程 ID。
-p proto 显示 proto 指定的协议的连接;proto 可以是
下列协议之一: TCP、UDP、TCPv6 或 UDPv6。
如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议 之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-r 显示路由表。
-s 显示按协议统计信息。默认地,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP
和 UDPv6 的统计信息; -p 选项用于指定默认情况的子集。
-v 与 -b 选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组件。
interval 重新显示选定统计信息,每次显示之间暂停时间间隔(以秒计)。按 CTRL+C 停止重新
显示统计信息。如果省略,netstat 显示当前配置信息(只显示一次)