首先介紹一種網上普遍的方法,就是查找占據80端口的進程,然后關閉它就行了。
1、運行cmd,然后輸入netstat -a -n -o,回車;
2、查看開頭幾行包含0.0.0.0:80的那一行最后的pid,為幾個數字,把這幾個數字記下來;
3、啟動“任務管理器”——“進程”,在“工具欄”——“選擇列”前面的框里打上勾;
4、然后找到與剛才那個pid對應的是哪個程序,很容易就會找到,就是它與0.0.0.0:80進行了綁定(bind);
結束這個進程,再點擊Apache的Start按鈕,終於出現了那個Running。
但是上面的方法不適用我的情況。。因為我找不到pid=4的進程,於是另一方法。
Win7的80端口默認是被System進程占用的。
用如下方法可以解決System進程占用80端口的問題:
打開RegEdit:開始-運行-輸入regedit-調出注冊表
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
找到一個DWORD值Start,將其改為0
重啟電腦,System進程將不會占用80端口
就可以打開你的apache了
這種方法確實暫時解決了我的問題,應該就是這樣的,但是后面又來問題了。Apache又無緣無故的打不開了。於是,最后終於發現了進程有個SQL Server ReportingServices,這個是sql servers帶有的,而且自動運行,關閉它,就可以了。但是切記,可能這個進程會自動打開,所以先把apache打開,這個的話后面SQL Server ReportingServices運行也不會占用80端口了。我用的360查找的
我的問題總算是解決了。最后總結一下吧。
查詢:查看占用80端口的信息,那么可以在cmd窗口輸入netstat -ano | findstr "80" 命令
常見的幾種情況:
1、迅雷等程序或者一些其他有上傳功能的軟件都會占用電腦的80端口
2、netstat -abno后查看,經過查找為pid=4的system進程,因為是系統進程,也無法結束它,經查SQL Server ReportingServices (SQLEXPRESS) 服務占用80端口,停止SQL Server ReportingServices后APache正常啟動.
3、卸載internet信息服務-->萬維網服務。這個是最常見的故障,或者其他一些第三方的服務器軟件,必須在進程里面結束,才有效果。
備注:殺掉進程的命令:taskkill /pid 4 /f其中 /f表示強制關閉該進程