Apache服務器80端口被佔用——解決方法web
80端口被佔用解決辦法有兩種:windows
1.關閉佔用80端口的程序,這時Apache服務器會正常啓動;服務器
2.修改Apache的端口,好比改成8081;網絡
詳細講解:app
第一種方法:socket
window7系統:在開始—運行中輸入如下命令:url
一、cmd(該命令打開命令執行框),以下圖spa
(圖一)命令行
二、在命令行中輸入 netstat -ano ,獲得端口號對應的PID。見下圖,紅色框中表示佔用程序的部分信息orm
(圖二)
(補充: Netstat是在內核中訪問網絡及相關信息的程序,它能提供TCP鏈接,TCP和UDP監聽,進程內存管理的相關報告。該命令的通常格式爲 :netstat [-a][-e][-n][-o][-p Protocol][-r][-s][Interval] ,其中 -a 顯示全部socket,包括正在監聽的,-n 以網絡IP地址代替名稱,顯示出網絡鏈接情形,-o 顯示擁有的與每一個鏈接關聯的進程 ID等等,若有興趣,可點擊 Netstat(Netstat百度百科)。
三、經過相應的PID,打開任務管理器,點擊「查看「菜單,選擇「選擇列」,給進程列表中添加」PID「列,而後找到PID對應的進程,選中該進程-——右鍵——選擇「結束進程/任務"。
(圖三)
或者 在命令執行框中,繼續輸入 taskkill /f /pid XXX(PID) 來結束相應進程/任務
此時,能夠正常啓動Apache服務器。
或者能夠用更簡單的方式:
一、一樣在開始—運行中,輸入cmd,打開命令執行框,如第一張圖。
二、在執行行中,輸入 netstat -ano|findstr "80";以下圖
(圖四)
三、繼續輸入 tasklist|findstr "4120" ;將輸出以下相似信息:
映像名稱 PID 會話名 會話# 內存使用
====== ======== ===== =======
thread.exe 0 Services 0 4k
而後輸入下面語句,結束該進程/任務
taskkill /f /t /im thread.exe
若是查不到,直接打開任務管理器——進程 ,查看哪一個任務的PID是4120,而後右鍵——結束任務;
(補充:以上」4120「爲示例,要結合實際);
(圖五)
在windows8及以上系統,可以使用win+x快捷鍵,出現以下選項:
(圖六)
選擇命令提示符(C),就會出現圖一,其餘同理。
第二種方法(更改Apache服務器端口號):
Apache安裝好後,在其安裝目錄下的conf文件夾內會有httpd.conf這樣一個文本文檔,它是Apache的配置文件,用於指揮Apache的運行,Apache默認的網頁服務端口號當然就在這個裏頭配置(修改)。要修改這個文件,確定首先要打開它,直接雙擊就行,而後同時按下鍵盤上的Ctrl+F組合鍵,在彈出的「查找」對話框中輸入Listen 80(以下圖):
(圖七)
(補充:若是使用appserv或xampp等軟件,Apache是其子文件),以下圖所示:
(圖八)
在查找出來的「Listen 80」字符串中(僅此一處),將80改成8000或8080,總之只要是大家喜歡的數字均可以(關於端口號的知識不是此文要講解的範圍,本身去了解一下,端口也不能隨意亂用哦)。在「Listen 80」的上方還有「#Listen 12.34.56.78:80」這樣一串字符,這兒的80不是必定要隨「Listen 80」中的80而變化,可改可不改,這只是一個樣例。
結束上述操做後,同時按下鍵盤上的Ctrl+S組合鍵進行保存,而後關閉即完成對Apache默認網頁服務端口號的修改,必定記得要中止(STOP)一次Apache服務而後再啓動(START),使剛剛的修改生效。但要注意的是,若是你修改了默認端口號(假如將Listen 80改成Listen 8081),那麼你將沒法經過http://localhost或者是http://127.0.0.1來打開位於Apache服務器上的網頁,必須在地址後面加上冒號+端口號,如http://localhost:8081或者是http://127.0.0.1:8081,只有這樣才能訪問位於Apache服務器中的網頁。(見下圖)
(圖九)
ps:第一次發文,請各位多多指點