今天我一台 Windows 测试机 WAMP 的 Apache 无法启动,找了一下原因,原来 Apache 上某个监听的端口被占用,导致无法启动。
下面把发现问题,和解决问题的思路写一下。
问题:WAMP 的 Apache 无法启动
重启电脑后,打开 WAMP 一直显示橙色的图标,显示有一个程序无法启动。
问题原因:Apache 因监听端口被占用无法启动
试了下 PHP 等正常运行无误,确认是 Apache 的问题,但是不知道为什么启动不了。
手动启动 Apache
我打开终端,将 Apache 的运行文件\wamp64\bin\apache\apache2.4.23\bin\httpd.exe拖到终端中执行,显示一下错误:
此处可以看出错误,是因为 Apache 监听的8080端口被别的程序占用,导致无法启动。
解决问题:使 Apache 正常运行
问题找到了就好办了,一下给出两种解决的办法。
第一种,更换 Apache 监听的8080端口至别的端口
此种方法相对简单一些,如果在没有强制端口需求的情况下,也是最为推荐的方法。
打开你的Apache 虚拟主机配置文件\wamp64\bin\apache\apache2.4.23\conf\extra\httpd-vhosts.com,找到冲突的端口配置,如下:
将8080(冲突的端口)修改为其他的端口号,重启 WAMP 或者 Apache就可以正常运行了。
第二种,kill 掉占用冲突端口的程序
比如你就想使用这个端口,或者有强制需求要用这个端口,那就需要干掉占用这个端口的程序了。
找到占用冲突端口的进程号
在终端执行命令,查看机器端口占用情况:
会显示如下内容:
通过上面的内容我们会看到监听8080端口的PID(进程号) 为3348。
干掉 PID 为3348的程序
右击桌面底部的工具栏,选择启动任务管理器,然后点击服务,找到 PID 为3348的程序,右击选择停止服务,这样就可以了。右击工具栏-->启动任务管理器-->服务-->右击 PID 为3348的服务-->停止服务
重启 WAMP 或者 Apache就可以正常运行了。
其实解决问题并不难,重要的是我们怎么样才能正确的找到问题的所在,这需要我们平时要树立一套比较合理的处理的问题的思路,要做一个有思想的开发者!