Apache官网提供的是source code下载。想要下载bin文档,需要到mirror网站下载。
下载完后,却发现不少问题,下面一一讲讲。
1. 点击\bin\ApacheMonitor.exe,提示需要VC11相关dll。
因为我下载的是VC11编译的binary,而电脑又没有安装Visual studio,所以无法正常启动Apache。
解决方式:安装足够高版本的Visual studio,或相关dll。{我下载的是vs2015 community}
2. ApacheMonitor.exe的start为灰色,无法启动。
这是因为没有安装httpd.exe.
解决方式:用管理员方式打开cmd,然后将目录改到bin文件夹下,输入以下command:
httpd -k install
(注:一定要在 所有程序->附件,然后右键点击cmd,“以管理员身体运行”cmd。否则安装失败。)
3. 点击start,弹出"The requested operation has failed"。
可以将cmd的目录改到apache的bin文件夹下,然后输入以下command来查看启动失败的原因:
httpd.exe -w -n "apache2.4" -k start
(注:apache2.4是当前安装apache的版本号。)
3.1 提示invalid ServerRoot dirctory。
这是因为我将apche的所有文件拷到了"Apache"文件夹下,而conf/httpd.conf里的Serverroot仍旧为"Apache24"。将两者统一,此问题就解决了。
3.2 提示"make_sock: could not bind to address 0.0.0.0:443 no listening sockets available, shutting down unable to open logs"
这是因为443端口被占用。
windows下可以通过以下命令来查看当前TCP连接的详细情况,进而可以找到使用0.0.0.0:443的PID。
netstat -ano
使用以下命令可以查看PID对应的进程名:
tasklist|findstr "pidnum"
(注:pidnum为netstat -ano中查看到的PID)
我的是vmware-hostd.exe在监听0.0.0.0:443。
解决方式:打开vmware,编辑->首选项->共享虚拟机->更改设置。可以禁用共享,也可以修改HTTPS端口号,不再使用443。
折腾一整天,Apache终于可以正常使用了……