ฉันได้ติดตั้งโปรแกรม Windows 10 Insider ทุกอย่างใช้งานได้ยกเว้น Apache พอลองสตาร์ทมันขึ้นว่าพอร์ต 80 ถูกบล็อก มีวิธีปลดบล็อกหรือบอกให้ Apache ใช้พอร์ตอื่นแทนหรือไม่?
ฉันใช้ Windows 7 มาก่อน ฉันมีปัญหากับพอร์ต 80 ด้วย skype แต่ฉันได้ปิดการใช้งาน
ฉันได้ติดตั้งโปรแกรม Windows 10 Insider ทุกอย่างใช้งานได้ยกเว้น Apache พอลองสตาร์ทมันขึ้นว่าพอร์ต 80 ถูกบล็อก มีวิธีปลดบล็อกหรือบอกให้ Apache ใช้พอร์ตอื่นแทนหรือไม่?
ฉันใช้ Windows 7 มาก่อน ฉันมีปัญหากับพอร์ต 80 ด้วย skype แต่ฉันได้ปิดการใช้งาน
คำตอบ:
ฉันมีปัญหาเดียวกันใน windows 10, IIS / 10.0 ใช้พอร์ต 80
วิธีแก้ปัญหานั้น:
ชื่อภาษาฝรั่งเศสคือ: " Service de publication World Wide Web "
ชื่อภาษาอังกฤษคือ: " World Wide Web Publishing Service "
ชื่อภาษาเยอรมันคือ: "WWW-Publishingdienst" - ขอบคุณ @fiffy
ชื่อภาษาโปแลนด์คือ "Usługa publikowania w sieci WWW" - ขอบคุณ @KrzysDan
ชื่อภาษารัสเซียคือ "Службавеб-публикаций" - ขอบคุณ @Kreozot
ชื่อภาษาอิตาลีคือ "Servizio Pubblicazione sul Web" - ขอบคุณ @ Claudio-Venturini
ชื่อEspañolคือ "Servicio de publicación World Wide Web" - ขอบคุณ @ Daniel-Santarriaga
ชื่อภาษาโปรตุเกส (บราซิล) คือ "Serviço de publicação da World Wide Web" - ขอบคุณ @ thiago-born
ทางเลือก:
sc stop W3SVC
แก้ไข 07 ต.ค. 2558: สำหรับรายละเอียดเพิ่มเติมโปรดดูคำตอบของ Matthew Stumphy Apache Server (xampp) ไม่ทำงานบน Windows 10 (พอร์ต 80)
Administrative Tools
Services
หน้าต่างจะปรากฏขึ้นชื่อบริการ แล้วหาคลิกขวาและเลือกWorld Wide Web Publishing Services
Properties
เปลี่ยนStartup Type
เป็นManual
และคลิกApply
sc getdisplayname W3SVC
คำตอบนี้มีไว้เพื่อเป็นภาคผนวกของคำตอบที่ได้รับคะแนนสูงสุดในชุดข้อความนี้โดย paaacman ฉันแค่อยากจะเพิ่มรายละเอียดที่เป็นประโยชน์สำหรับผู้ใช้เช่นตัวฉันเองที่ไม่รู้วิธีการใช้ Windows 10 เช่นกัน
Windows 10 เรียกใช้ IIS (Internet Information Services, ซอฟต์แวร์เว็บเซิร์ฟเวอร์ของ Microsoft) โดยอัตโนมัติระหว่างการเริ่มต้นบนพอร์ต 80 ในการใช้ Apache Server บนพอร์ตนั้นต้องหยุด IIS
การตอบสนองของ paaacman อ้างถึงเซิร์ฟเวอร์ IIS ว่า "W3SVC" หรือ "World Wide Web Publishing Service" ฉันคิดว่านั่นเป็นเพราะ Windows 10 เรียกใช้ IIS เป็นบริการ ในการปิดใช้งานหรือแก้ไขวิธีการทำงานของบริการคุณจำเป็นต้องทราบว่าจะหา "บริการ" ได้จากที่ใดในระบบของคุณ
ผมพบว่าวิธีที่ง่ายที่สุดที่มีคือการคลิกที่ปุ่มค้นหาถัดจากปุ่มเมนูเริ่มต้นในทาสก์บาร์ของ Windows 10 และพิมพ์ "เครื่องมือในการดูแล" คุณสามารถกด return หรือคลิกลิงก์ "Administrative Tools" ที่ Windows ค้นหาให้คุณ
หน้าต่างแผงควบคุมจะเปิดขึ้นพร้อมรายการเครื่องมือ สิ่งที่คุณต้องการคือ " บริการ " ดับเบิลคลิก
อีกหน้าต่างหนึ่งจะเปิดขึ้นชื่อ "บริการ" ค้นหาชื่อ " World Wide Web Publishing Service " ผู้ใช้รายอื่นบางรายในชุดข้อความนี้ได้ระบุสิ่งที่เรียกในภาษาอื่น ๆ หากรายการของคุณไม่ใช่ภาษาอังกฤษ
หากคุณต้องการปิดเซิร์ฟเวอร์ IIS สำหรับเซสชัน Windows นี้โดยอัตโนมัติ แต่ต้องการให้ทำงานโดยอัตโนมัติอีกครั้งในครั้งถัดไปที่คุณเริ่ม Windows ให้คลิกขวาที่ "World Wide Web Publishing Service"และเลือก " Stop " เซิร์ฟเวอร์จะหยุดทำงานและพอร์ต 80 จะได้รับอิสระสำหรับ Apache (หรืออะไรก็ได้ที่คุณต้องการใช้)
หากคุณต้องการป้องกันไม่ให้เซิร์ฟเวอร์ IIS ทำงานโดยอัตโนมัติเมื่อคุณเริ่มระบบ Windows ในอนาคตให้คลิกขวาที่ "World Wide Web Publishing Serivce"และเลือก " Properties " ในหน้าต่างที่ปรากฏขึ้นให้ค้นหารายการแบบเลื่อนลง "ประเภทการเริ่มต้นระบบ"และตั้งค่าเป็น "คู่มือ" คลิก "ใช้" หรือ "ตกลง" เพื่อบันทึกการเปลี่ยนแปลงของคุณ คุณควรจะพร้อม
ด้วย Windows 10 IIS จะทำงานบนพอร์ต 80 โดยค่าเริ่มต้นซึ่งสามารถเปลี่ยนแปลงได้:
เรียกappwiz.cpl
ใช้Turn Windows features on or off
และติดตั้ง IIS Manager Console
เรียกใช้InetMgr.exe
และไปที่ "Connections -> Sites" และเปิดด้วยเมาส์ขวาคลิกเมนูบริบทบนรายการเริ่มต้น "เว็บไซต์เริ่มต้น" ในเมนูบริบทเลือก "การเชื่อมโยง" เพื่อเปิดที่อยู่เซิร์ฟเวอร์และการกำหนดค่าพอร์ต
https://technet.microsoft.com/library/hh831681.aspx#Site_Bingings
ฉันมีปัญหาเดียวกันแน่นอนและแก้ไขได้โดยใช้คำสั่ง folowing จากบรรทัดคำสั่งในฐานะผู้ดูแลระบบ:
1) ก่อนอื่นให้หยุดบริการดังต่อไปนี้
หยุดสุทธิ http / y
2) จากนั้นปิดใช้งานการเริ่มต้น (ไม่บังคับ)
sc config http start = ปิดใช้งาน
พิมพ์บรรทัดคำสั่ง
netstat -aon | findstr :80
คุณจะเห็น PID ของกระบวนการที่ใช้พอร์ต 80 จากนั้นลองกำหนดค่าแอปนี้ให้ใช้พอร์ตอื่นหรือเพียงแค่ฆ่ามัน
UPDATE: ฉันจะเขียนความคิดเห็นของฉันที่นี่เพื่อให้ชัดเจนยิ่งขึ้น: ตามลิงค์นี้ใน Windows 10 เป็นบริการ MsDepSvc ที่ใช้พอร์ต 80 สำหรับ IIS หรือ Web Matrix 2 หากคุณจะไม่ใช้ IIS หรือ Web Matrix 2 สำหรับการพัฒนาเว็บใด ๆ คุณสามารถลองปิดบริการ
และสำหรับส่วนที่สองของคำถามของคุณคุณสามารถบอกให้ Apache ใช้พอร์ตอื่นได้โดยแก้ไข [Apache folder] /conf/httpd.conf มีสตริง "Listen 80" เปลี่ยน 80 เป็นพอร์ตฟรีที่คุณต้องการและโหลด Apache ใหม่
คุณอาจต้องยุติบริการรายงานเซิร์ฟเวอร์ SQL ด้วย
ในกรณีของฉันฉันต้องการทั้ง XAMPP สำหรับการพัฒนา Apache และ IIS Express สำหรับการพัฒนา. Net 2013 ดังนั้นฉันจึงทำสิ่งต่อไปนี้:
ในพรอมต์คำสั่งพิมพ์ services.msc สิ่งนี้จะโหลด "Windows Services" ซึ่งฉันอยู่ที่ "World Wide Web Publishing Service" และหยุดการทำงานนั้น หยุดบริการเผยแพร่เวิลด์ไวด์เว็บ
ฉันเริ่ม XAMPP Control Panel คลิกที่ "Config" จากนั้นเลือก "Apache httpd.conf" ค้นหา "80" จากนั้นเปลี่ยนเป็น "8080" ทั้งใน "Listen 80" และ "ServerName localhost: 80" บันทึกไฟล์จาก "บันทึกเป็น" และเลือก "ไฟล์ทั้งหมด" เพื่อไม่ให้บันทึกเป็นข้อความจาก "บันทึกเป็นประเภท" และ "การเข้ารหัส" ควรเป็น "UTF-8" Apache httpd.conf
ออกจากแผงควบคุม XAMPP จากนั้นเริ่มใหม่อีกครั้งและจาก "Action" ให้เริ่ม Apache & MySQL ตอนนี้คุณจะเห็นพอร์ตเปลี่ยนไป อย่างที่คุณทราบตอนนี้คุณต้องเข้าสู่เซิร์ฟเวอร์ Apache ของคุณโดยใช้ "localhost: 8080" แทน "localhost" นอกจากนี้คุณยังมีทั้ง Apache & IIS Express ที่ทำงานบนพีซี Windows 10 เครื่องเดียวกัน
ฉันอ่านโพสต์ที่นักเขียนแนะนำให้ใช้พอร์ต "9080" แต่มันไม่ได้ผลสำหรับฉัน
ปัญหาเกิดขึ้นเมื่อใดก็ตามที่กระบวนการใช้พอร์ต 80
คุณสามารถเรียกใช้Netstatซึ่งมีอยู่ในXAMPP Control Panelและตรวจสอบว่ากระบวนการใดใช้พอร์ต 80 ในระบบของคุณ
สำหรับผมมันก็ไม่ได้IISแต่Skype
ปิดกระบวนการ / แอปพลิเคชันนั้นแล้วเริ่มบริการ Apache
ฉันรู้ว่าปัญหานี้อาจได้รับการแก้ไข แต่ฉันมีปัญหาเดียวกันกับวิธีแก้ปัญหาอื่น สำหรับสิ่งนั้นฉันจะอธิบายวิธีแก้ปัญหาที่เป็นไปได้อื่น ในกรณีของฉันพอร์ต 80 ถูกใช้งานโดย Skype (pid: 25252) และฉันไม่รู้ว่าคือโปรแกรมอะไร
หากต้องการดู pid ของโปรแกรมที่ใช้พอร์ต 80 คุณสามารถใช้คำสั่งที่คนอื่นพูดก่อนหน้านี้:
netstat -aon | findstr 0.0:80
ในการฆ่ากระบวนการโดยใช้ pid (ในกรณีที่คุณไม่รู้จักโปรแกรม) คุณต้องเปิด CMD โดยได้รับอนุญาตจากผู้ดูแลระบบและใช้คำสั่งถัดไป:
taskkill /pid 25252
ฉันรู้ว่านี่อาจไม่ใช่สาเหตุของปัญหาของคุณ แต่ฉันใช้เวลาสองสามชั่วโมงในการตีหัวพิงกำแพงเพื่อแก้ปัญหานี้และนี่คือวิธีแก้ปัญหาของฉัน
(ใช้ Windows 10 x32)
ดังนั้นฉันจึงติดตั้ง XAMPP ในไดเร็กทอรีที่ซ้อนกันอย่างลึกซึ้งและไฟล์ conf ทั้งหมดอ้างอิงถึงรู\xampp\apache
ทในขณะที่ไฟล์ของฉันคือsome_dir\another_dir\whatthehelliswrongwithme\finally\xampp\apache
ดังนั้นตัวเลือกของฉันจึงต้องดำเนินการแก้ไข\xampp\apache
การอ้างอิงทั้งหมดและชี้ไปยังตำแหน่งที่ถูกต้องหรือตัวเลือกที่ง่ายกว่ามาก ... ติดตั้ง XAMPP ใหม่ที่รูทดังนั้นการอ้างอิงทั้งหมดจึงชี้ไปยังตำแหน่งที่ถูกต้อง
น่ารำคาญเล็กน้อย แต่ฉันเดาว่านั่นคือสิ่งที่เราได้รับเมื่อ Mac และ Windows พยายามเป็นเพื่อนกัน ..
หวังว่ามันจะช่วยคุณไม่กี่คน
ในกรณีที่คุณต้องการเรียกใช้ IIS บนพอร์ต 80/443 แต่ใช้ที่อยู่ IP ต่างกันคุณสามารถใช้netsh http add iplisten xxx.xxx.xxx.xxx
ตามที่อธิบายไว้ที่นี่:
https://support.microsoft.com/en-us/help/954874/iis-binds-to-all -ip- ที่อยู่บนเซิร์ฟเวอร์เมื่อคุณติดตั้ง iis-7-0-on
สามารถดูรายละเอียดเพิ่มเติมnetsh http add iplisten
ได้ที่นี่:
https://msdn.microsoft.com/en-us/library/windows/desktop/cc307219.aspx
ฉันคิดว่ามันง่ายมากที่จะเปลี่ยนพอร์ตเซิร์ฟเวอร์ Apache ของคุณ
หมายเหตุฉันใช้เวอร์ชันเซิร์ฟเวอร์: 5.1.41 กับ windows 10
การปิด "กระบวนการระบบบางอย่าง" อาจยุ่งยาก ... คุณควรแก้ไข [Apache folder] /conf/httpd.conf ตามที่ @Sergey Maksimenko กล่าวไว้และหากคุณต้องการกำหนดค่าโฮสต์เสมือนให้ใช้พอร์ตใหม่ใน [Apache โฟลเดอร์] /conf/extra/httpd-vhosts.conf (ฉันใช้ 4900 แทน 80 และ 4901 แทนที่จะเป็น 443 ใน [โฟลเดอร์ Apache] /conf/httpd-ssl.conf) และอย่าลืมใช้พอร์ตเมื่อเข้าถึงเพจบน localhost (หรือ virtualhost ของคุณ) ตัวอย่างเช่น localhost: 4900 / index.html
โหนด js คงที่นี้ไม่ทำงานบนพอร์ต 80 ภายใต้ Windows 10 เช่นกันฉันได้รับlisten eacces
ข้อผิดพลาด เริ่ม> บริการค้นหา "บริการเผยแพร่ทั่วโลก" และปิดใช้งานตามที่ paaacman อธิบายไว้
ฉันมีปัญหาเดียวกันและวิธีแก้ปัญหาข้างต้นไม่ได้ผลสำหรับฉัน
Apache ใช้ทั้งพอร์ต 80 และ 443 (สำหรับ HTTPS) และทั้งคู่ต้องพร้อมใช้งานเพื่อให้ Apache เริ่มทำงานได้สำเร็จ พอร์ต 80 เท่านั้นอาจไม่เพียงพอ
ฉันพบในกรณีของฉันว่าเมื่อเรียกใช้ VMWare Workstation ฉันมีพอร์ต 443 ที่ใช้โดยการแชร์ VMware
คุณต้องปิดการใช้งานการแชร์ในการตั้งค่าหลักของ VMware หรือเปลี่ยนพอร์ตในส่วนนี้
หลังจากนั้นตราบเท่าที่คุณไม่มีเซิร์ฟเวอร์อื่นเชื่อมต่อกับพอร์ต 80 (ดูวิธีแก้ไขปัญหาด้านบน) คุณควรจะสามารถเริ่ม Apache หรือ NGinx บน XAMPP หรือแอปพลิเคชัน Windows stack อื่น ๆ ได้
ฉันหวังว่านี่จะช่วยผู้ใช้คนอื่น ๆ
นอกจากเหตุผลที่ค่อนข้างชัดเจน (IIS) แล้วยังมีอีกสาเหตุหนึ่งที่พบได้บ่อยพอสำหรับปัญหานี้ คุณควรพูดคำถามนี้และคำตอบที่นี่:
http://stackoverflow.com/questions/22994888/why-skype-using-http-or-https-ports-80-and-443
ดังนั้นหากคุณติดตั้ง Skype ในคอมพิวเตอร์โปรดตรวจสอบสิ่งนี้ด้วย วิธีแก้ปัญหาถูกยกมาที่นี่:
ในการปิดและปิดการใช้งาน Skype และการฟังบนพอร์ต 80 และพอร์ต 443 ให้เปิดหน้าต่าง Skype จากนั้นคลิกที่เมนูเครื่องมือและเลือกตัวเลือก คลิกที่แท็บขั้นสูงและไปที่แท็บย่อยการเชื่อมต่อ ยกเลิกการเลือกหรือยกเลิกการเลือกช่องทำเครื่องหมายใช้พอร์ต 80 และ 443 เป็นทางเลือกอื่นสำหรับตัวเลือกการเชื่อมต่อขาเข้า คลิกที่ปุ่มบันทึกจากนั้นรีสตาร์ท Skype เพื่อให้การเปลี่ยนแปลงมีผล