簡體   English   中英

Apache服務器(xampp)無法在Windows 10(端口80)上運行

[英]Apache Server (xampp) doesn't run on Windows 10 (Port 80)

我已經安裝了Windows 10 Insider Program。 一切正常,除了Apache。 當我嘗試啟動它時,它表示端口80被阻止。 有沒有辦法取消阻止它或告訴Apache使用另一個端口?

我之前使用的是Windows 7。 我在使用Skype的端口80時遇到了麻煩,但我已將其禁用。

我在Windows 10上遇到了同樣的問題, IIS / 10.0正在使用端口80

解決這個問題:

  • 找服務“W3SVC”
  • 禁用它,或將其設置為“手動”

法語名稱是:“ Service de publication World Wide Web

英文名稱是:“ World Wide Web Publishing Service

德語名稱是:“WWW-Publishingdienst” - 謝謝@fiffy

波蘭名稱是:“Usługasublikowaniaw sieci WWW” - 謝謝@KrzysDan

俄語名稱是“Службавеб-публикаций” - 謝謝@Kreozot

意大利名字是“Servizio Pubblicazione sul Web” - 感謝@ Claudio-Venturini

Español的名字是“ServiciodepublicaciónWorldWide Web” - 感謝@ Daniel-Santarriaga

葡萄牙語(巴西)的名字是“ServiçodepublicaçãodaWorld Wide Web” - 感謝@ thiago-born


備擇方案 :


編輯2015年10月7日:有關更多詳細信息,請參閱Matthew Stumphy的答案Apache Server(xampp)無法在Windows 10(端口80)上運行

這個答案是作為paaacman在這個帖子中得到最高評價答案的補遺。 我只想為像我這樣不熟悉Windows 10的用戶添加一些有用的細節。

Windows 10在端口80上啟動期間自動運行IIS(Internet信息服務,Microsoft的Web服務器軟件)。為了在該端口上使用Apache Server,必須停止IIS。

paaacman的響應將IIS服務器稱為“W3SVC”或“萬維網發布服務”。 我想那是因為Windows 10將IIS作為服務運行。 要禁用它或修改服務的運行方式,您需要知道在系統中找到“服務”的位置。

我發現最簡單的方法是單擊Windows 10任務欄中開始”菜單按鈕旁邊的搜索按鈕 ,然后鍵入“管理工具” 您可以點擊返回或點擊Windows找到的“管理工具”鏈接。

將打開一個控制面板窗口,其中包含一系列工具。 你想要的是“ 服務” 雙擊它。

另一個窗口將打開,稱為“服務”。 找到名為“ World Wide Web Publishing Service ”的名稱。 如果您的列表不是英文,則此主題中的其他一些用戶列出了其他語言的內容。

如果您只想關閉此Windows會話的IIS服務器,但希望它在下次啟動Windows時再次自動運行,請右鍵單擊“World Wide Web Publishing Service”並選擇“ 停止” 服務器將停止,並且將為Apache(或任何您想要使用它的其他任何東西)釋放端口80。

如果要在將來啟動Windows時阻止IIS服務器自動運行,請右鍵單擊“World Wide Web Publishing Serivce”並選擇“ 屬性” 在出現的窗口中,找到“啟動類型”下拉列表 ,並將其設置為“手動”。 單擊“應用”或“確定”以保存更改。 你應該全力以赴。

使用Windows 10 IIS默認在端口80上運行,可以更改:

運行appwiz.cpl使用Turn Windows features on or off並安裝IIS管理器控制台。

打開或關閉Windows功能 - > Internet信息服務 - > Web管理工具 - > IIS管理控制台

運行InetMgr.exe並轉到“連接 - >站點”,然后右鍵單擊默認條目“默認網站”上的上下文菜單。 在“上下文菜單”中,選擇“綁定”以打開服務器地址和端口配置。

“連接 - >站點” - >“默認網站綁定”

服務器地址和端口配置

將默認端口轉換為8080

https://technet.microsoft.com/library/hh831681.aspx#Site_Bingings

我有完全相同的問題,並解決了它作為管理員從命令行運行folowing命令:

1)首先停止服務,具體如下

凈停止http / y

2)然后禁用啟動(可選)

sc config http start = disabled

輸入命令行

netstat -aon | findstr :80

您將看到使用端口80的進程的PID。然后嘗試將此應用程序配置為使用另一個端口,或者只是將其終止

更新:我在這里寫一下我的評論要更清楚:根據這個鏈接,在Windows 10中,它是占用端口80的MsDepSvc服務。它適用於IIS或Web Matrix 2.如果你不使用IIS或Web Matrix 2對於任何Web開發,您都可以嘗試關閉該服務

對於問題的第二部分,您可以通過編輯[Apache folder] /conf/httpd.conf告訴Apache使用另一個端口。 它有“Listen 80”字符串。 將80更改為您想要的任何空閑端口並重新加載Apache

您可能還需要終止SQL Server Reporting Services。

就我而言,我需要用於Apache開發的XAMPP和用於.Net 2013開發的IIS Express; 所以我做了以下事情:

  1. 在命令提示符下鍵入services.msc,這將加載“Windows服務”,我在其中找到“萬維網發布服務”並停止它。 萬維網發布服務STOP

  2. 我啟動XAMPP控制面板,單擊“配置”,然后選擇“Apache httpd.conf”。 搜索“80”,然后在“Listen 80”和“ServerName localhost:80”中將其更改為“8080”。 保存文件“另存為”並選擇“所有文件”不將其保存為“另存為類型”中的文本,“編碼”應為“UTF-8”。 Apache httpd.conf

  3. 退出XAMPP控制面板,然后再次啟動它,從“Action”啟動Apache和MySQL。 現在您將看到端口已更改。 如您所知,您必須使用“localhost:8080”而不是“localhost”訪問Apache服務器。 此外,您還可以在同一台Windows 10 PC中運行Apache和IIS Express。

我讀了一篇文章,作者建議使用端口“9080”,但它對我不起作用。

只要進程使用端口80,就會出現問題。

您可以運行XAMPP控制面板中提供的Netstat ,並檢查哪個進程使用系統中的端口80。

對我來說,它不是IIS ,而是Skype

關閉該進程/應用程序,然后啟動Apache服務。

我知道也許這個問題已經解決,但我遇到了不同解決方案的同樣問題。 為此,我將解釋另一種可能的解決方案。 在我的情況下,端口80被Skype占用(pid:25252),我不知道是什么程序。

要查看使用端口80的程序的pid,您可以使用其他人之前說過的命令:

netstat -aon | findstr 0.0:80

要使用pid終止進程(在您不知道程序的情況下),您必須使用管理員權限打開CMD並使用下一個命令:

taskkill /pid 25252

此命令的其他選項在此處

我知道這可能不是你問題的原因,但我已經花了幾個小時撞到牆上來解決這個問題,這是我的解決方案。

(運行Windows 10 x32)

所以我在一個深度嵌套的目錄中安裝了XAMPP,所有的conf文件都引用了root \\xampp\\apache ,而我的文件是some_dir\\another_dir\\whatthehelliswrongwithme\\finally\\xampp\\apache

所以我的選擇是要經過並編輯所有\\xampp\\apache引用並將它們指向正確的位置,或者,更簡單的選項...在根目錄重新安裝XAMPP,因此引用都指向正確的位置。

有點煩人,但我猜這是我們得到的,當Mac和Windows試圖成為朋友..

希望它對你們中的一些人有所幫助。

如果您需要在端口80/443上運行IIS但在不同的IP地址上運行IIS,您可以使用netsh http add iplisten xxx.xxx.xxx.xxx如下所述: https//support.microsoft.com/en-us/幫助/ 954874 / IIS-結合到全部IP地址,一個服務器上,時任您安裝-IIS-7-0-上

有關netsh http add iplisten更多詳細信息,請訪問: https//msdn.microsoft.com/en-us/library/windows/desktop/cc307219.aspx

我認為更改Apache服務器端口很簡單

  1. 轉到C:\\ xampplite \\ apache \\ conf
  2. 打開httpd.conf文件
  3. 搜索聽80
  4. 80更改為任何其他像9080
  5. 現在XAMPP重啟嘗試啟動服務器

注意我正在使用服務器版本:5.1.41與Windows 10

關閉“某些系統進程”可能很棘手......您應該編輯@Sergey Maksimenko所提及的[Apache文件夾] /conf/httpd.conf,如果要配置虛擬主機,請使用[Apache]中的新端口文件夾] /conf/extra/httpd-vhosts.conf(我在[Apache文件夾] /conf/httpd-ssl.conf中使用了4900而不是80和4901而不是443)。 並記住在訪問localhost(或您的虛擬主機)上的頁面時使用該端口,例如:localhost:4900 / index.html

這個固定的node.js也沒有在Windows 10下的端口80上運行,我收到了一個listen eacces錯誤。 開始>服務,找到“萬維網發布服務”並禁用它,就像paaacman描述的那樣。

我遇到了同樣的問題,上述解決方案都沒有對我有用。

Apache使用端口80和443(用於HTTPS),並且兩者都必須准備好用於Apache成功啟動。 只有80端口可能還不夠。

在我的案例中,我發現在運行VMWare Workstation時,我有VMware共享使用的端口443。

您必須在VMware主要首選項中禁用共享或更改本節中的端口。

之后,只要您沒有其他服務器連接到端口80(參見上面的解決方案),那么您應該能夠在XAMPP或任何其他Windows堆棧應用程序上啟動Apache或NGinx。

我希望這會有助於其他用戶。

雖然許多人正在采用這種方法來停止/禁用IIS,但知道您可以簡單地修改XAMPP端口可能會有所幫助,這已在此處得到解答。 這是我必須采取的路線,因為我需要兩個都跑。

除了非常明顯的原因(IIS)之外,還有另一個原因可以解決這個問題。 值得引用這個問題及其答案:

http://stackoverflow.com/questions/22994888/why-skype-using-http-or-https-ports-80-and-443 

因此,如果您在計算機中安裝了Skype,請務必檢查這一點。 解決方案在這里引用:

要關閉和禁用Skype端口80和端口443的使用和偵聽,請打開Skype窗口,然后單擊“工具”菜單並選擇“選項”。 單擊“高級”選項卡,然后轉到“連接”子選項卡。 取消選中或取消選中“將端口80和443用作傳入連接的替代選項”復選框。 單擊“保存”按鈕,然后重新啟動Skype以使更改生效。

首先,打開regedit以管理員身份運行, 看到圖像打開HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentCurrentControlSet \\ Services \\ HTTP打開開始,將值從3更改為4 查看圖像然后重新啟動計算機

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM