Apache安装出现Address already in use:make_sock:could not bind to adress 0.0.0.0:80, no listening sockets available,shutting down
出现这个问题的原因是Apache默认端口是80,但是80端口被占用,导致Apache启动异常或失败。在这种情况下,在浏览器中输入 http://localhost是无法出现It works!的成功标志的。解决的办法就是查找哪个进程占用了80端口。从网上找到了一种很扯淡的cmd命令是“netstat -tulpn | grep:80”,但是我在测试的过程中总是提示 “文件名 目录名或卷标语法不正确”,我只能说这种坑爹的东西没经过测试能不写成经验贴吗?多坑爹知道吗孙子们!
http://www.owon.cn/techshow.asp?newsid=613
感谢上面这位朋友的帖子给出了最佳的答案,这里直接把简单的方案一并贴在这里。
假如我们需要确定谁占用了我们的80端口
1、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"
thread.exe 2016 Console 0 16,064 K
很清楚吧,thread占用了你的端口,Kill it
如果第二步查不到,那就开任务管理器,看哪个进程是2448,然后杀之即可。
如果需要查看其他端口。把 80 改掉即可
OK,经过测试我发现是之前安装的IIS占用了80端口,然后按照上面的方法试图手工杀进程,但是IIS很顽强,手动杀死后马上又自己重启了,解决的办法是到控制面板里停掉IIS服务。接下来这位朋友给出了正确停掉IIS的方法,简单、通俗,简洁明了。
http://blog.sina.com.cn/s/blog_9bf0754b010130f1.html
注意:直接试图关掉整个IIS目录树时,停止按钮是灰色的,必须按照这个步骤
控制面板 --
才能正确停掉。OK,停掉之后重启Apache,果然出现了It works。