安裝Apache遇到的問題及解決方法
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終於可以正常使用了……