เหตุใดกระบวนการของระบบจึงฟังบนพอร์ต 80


81

ฉันใช้ Windows 7 RC1 ฉันมีปัญหาหลายอย่างที่ทำให้ IIS ทำงานบนระบบของฉันและวันนี้เมื่อฉันติดตั้งแอปพลิเคชันใหม่และฉันพยายามโหลดโดยใช้ http: \ localhost \ MyApplication ฉันไม่มีข้อผิดพลาดอย่างแน่นอนและไม่ได้โหลดหน้าเว็บ หน้าเปล่าสีขาวสวย

ฉันขุดและพบบางอย่างเกี่ยวกับกระบวนการอื่นที่ฟังพอร์ต 80 ดังนั้นฉันจึงใช้การสแกนnetstat -aon | findstr 0.0:80และพบว่า PID 4 กำลังฟังพอร์ตนั้น

PID 4 ไม่แสดงในตัวจัดการงานดังนั้นฉันเลยเรียกใช้ Process Explorer และมันแสดงให้ฉันเห็นว่า PID 4 เป็นกระบวนการของระบบ (ดูเหมือนว่าการค้นหา google หลายครั้งจะระบุว่าระบบใช้ PID 4 เสมอ)

ตั้งแต่นั้นมาฉันก็ติดอยู่ ฉันไม่รู้ว่าทำไมระบบถึงต้องการพอร์ต 80 และจะทำอย่างไรกับมัน

หากคุณ google สตริงต่อไปนี้คุณจะพบบทความผู้เชี่ยวชาญแลกเปลี่ยนที่เป็นประโยชน์สองรายการที่ด้านบนของผลการค้นหาและคุณสามารถอ่านได้สำหรับข้อมูลที่มีประโยชน์

(ถ้าฉันให้ URL โดยตรงไปยังหน้าเว็บผู้เชี่ยวชาญ - แลกเปลี่ยนจะขอให้คุณจ่าย ... แต่เมื่อคุณคลิกที่ผลลัพธ์จากการค้นหาของ Google คุณสามารถเลื่อนไปจนถึงด้านล่างเพื่ออ่านการแลกเปลี่ยน)

นี่คือการค้นหาของ Google ...
"กระบวนการของระบบกำลังฟังอยู่ที่พอร์ต 80 (Vista)"
"กระบวนการของระบบกำลังฟังบนพอร์ต 80 และป้องกันไม่ให้เว็บไซต์ IIS เริ่มต้นทำงาน"

รายการสุดท้ายจากผลลัพธ์แรกแสดงวิธีการติดตาม http.sys ที่ URL ต่อไปนี้:

http://blogs.msdn.com/wndp/archive/2007/01/18/event-tracing-in-http-sys-part-1-capturing-a-trace.aspx

การติดตามแสดงว่าไม่มีประโยชน์ ความคิดใด ๆ


ปัญหาเดียวกันที่นี่ยกเว้นฉันลองตอบทุกคำถามตามที่แนะนำและไม่ทำอะไรเลย ฉันไม่สามารถเริ่มปิดบริการได้เพราะนี่เป็นเซิร์ฟเวอร์คลาวด์นอกสถานที่
Jerry Dodge

คุณหมายถึงว่าคุณใช้ Windows 7 SP1 ไม่ใช่ RC1 หรือไม่
cmorse

4
คุณใช้ Skype หรือเปล่า support.skype.com/en/faq/FA148/…
Plutext

อาจเป็นไปได้ว่าไม่ได้แก้ปัญหาของคุณจริง ๆ แล้วคุณสามารถเปลี่ยนพอร์ต Apache เป็น8080... ดีนั่นไม่ใช่วิธีแก้ปัญหา แต่อาจทำงานได้ชั่วคราวจนกว่าคุณจะได้รับทางออกที่เหมาะสม ... @rakslice แก้ปัญหาให้ฉัน
Girardi

สิ่งที่ skype เป็นทางออก! ปิด skype และเริ่ม apache ทำ!
Codebeat

คำตอบ:


28

โพสต์เกี่ยวกับการทำให้ Apache ทำงานบนพอร์ต 80 บน Windows 7 (ไฟล์เก็บถาวรทางอินเทอร์เน็ต) อธิบายถึงจุดของคุณ

ดูเหมือนว่าบริการ ' http.sys' (Windows Remote Management?) จะเปิดใช้งานตามค่าเริ่มต้นใน Windows 7
เรียกใช้ผ่านความคิดเห็นในลิงค์นั้นเพื่อดูหมายเหตุเพิ่มเติม ...

ไซต์ไฮเปอร์ไม่จำเป็นต้องมีคำตอบเท่านั้น


1
อีกบทความที่ดี: devside.net/wamp-server/…
หนาม

2
และสิ่งนี้ยังคงมีความเกี่ยวข้องในวันนี้กับ Windows 8.1
Sverrir Sigmundarson

3
ไซต์ออฟไลน์ คุณสามารถเพิ่มข้อมูลที่จำเป็นลงในคำตอบได้หรือไม่?
fixer1234

4
สำหรับฉันมันคือ World Wide Web Publish Service - ถูกตั้งค่าเป็นอัตโนมัติโดยค่าเริ่มต้นและต้องใช้พอร์ต 80
rockerston

1
อัปเกรดจาก windows 7 เป็น windows 10 และเปิด World Wide Web Publish Service เป็นอัตโนมัติ บ้าเพราะฉันไม่ได้ใช้ IIS
Phil_1984_

49

'Web Deployment Agent Service' ทำงานบนพอร์ต 80 ตามระบบ คุณอาจกำลังทำงานอยู่หากคุณใช้ WebMatrix


ลิงค์ที่เกี่ยวข้อง: eat.cheezburger.com/author/johnc ฉันถอนการติดตั้ง por por สองรายการที่ระบุไว้: "Microsft Web Deploy 2.0" และ "Web Deployment Tool" (เช่นเดียวกับ WebMatrix นั้น)
Frank Schwieterman

ลิงค์ที่เกี่ยวข้อง: remkoweijnen.nl/blog/2012/01/02/…
Remko

1
ดูstackoverflow.com/questions/5867392สำหรับข้อมูลเกี่ยวกับวิธีการเปลี่ยนพอร์ตนี้
tony722

ฉันหยุดบริการตัวแทนการปรับใช้เว็บและตั้งค่าเป็นเริ่มด้วยตนเองแล้วยืนยันว่าฉันยังคงสามารถเผยแพร่ไปยัง IIS บนเซิร์ฟเวอร์นี้จาก Visual Studio และเป็นสิ่งที่ดี ฉันสามารถใช้งานพอร์ต 80 ได้แล้วและฟังก์ชั่นอื่น ๆ ของฉันยังใช้งานได้
JMD

net stop "Web Deployment Agent Service"เพิ่มขึ้น 80 สำหรับฉัน
Philippe Signoret

46

เปิด Services.msc และหยุดบริการนี้ "บริการรายงานเซิร์ฟเวอร์ sql (MSSQLSERVER)"

ป้อนคำอธิบายรูปภาพที่นี่

ฉันลองทุกอย่างแล้วแต่ก็ใช้ได้กับฉัน:

คำแนะนำเพิ่มเติมเกี่ยวกับวิธีหยุดบริการดังกล่าวอยู่ด้านล่าง

  1. คลิกขวาที่My Computer
  2. เลือกจัดการ
  3. คลิกสองครั้งที่บริการและแอปพลิเคชัน
  4. จากนั้นคลิกสองครั้งที่บริการ
  5. คลิกขวาที่"บริการรายงานเซิร์ฟเวอร์ Sql (MSSQLSERVER)"
  6. เลือกหยุด ... และ voila พอร์ต 80 ถูกนำออกใช้

7
+1 มันเป็น SQL Server แน่นอนในกรณีของฉัน
Assaf Levy

มันก็ใช้ได้กับฉันเช่นกัน ฉันหยุดบริการ SQL ที่เกี่ยวข้องทั้งหมด (รวมถึงบริการนี้) และเปิดตัวพอร์ต 80
Mark Lakata

+1 แต่ฉันต้องการ SSRS ที่ใช้งานอยู่ดังนั้นฉันจึงคาดเดาว่าฉันจะต้องบอก SSRS ให้ใช้พอร์ตอื่นใช่หรือไม่
Chris Moutray

"ไม่ได้ใช้พอร์ตนั้นเหรอฉันจะทำอย่างนั้น! ขอโทษที่คุณต้องการหรือไม่คุณไม่ได้รับบันทึก?"
batCattle

1
@AssafLevy ความคิดเห็นของคุณเป็นความเสียหายต่อผู้คนและสิ่งต่าง ๆ ในเมฆและอาจทำให้บางคนคิดว่าคำตอบนั้นไม่ดีเท่าที่ควร ไม่ใช่ SQL Server แต่เป็นการรายงานของเซิร์ฟเวอร์ SQL เซิร์ฟเวอร์ SQL ทำงานบน 3306 การรายงานเซิร์ฟเวอร์ SQL เป็นสิ่งที่เป็นปัญหาและทำงานบนพอร์ต 80
barlop

19

คุณสามารถหยุดบริการ HTTP ชั่วคราวจากบรรทัดคำสั่ง:

  1. เรียกใช้พรอมต์คำสั่งของผู้ดูแลระบบ (เช่นเริ่มค้นหาcmdคลิกขวาที่มันเลือก "เรียกใช้ในฐานะผู้ดูแลระบบ" อนุมัติการแจ้งเตือน UAC หากมี)
  2. ชนิด net stop HTTP
  3. หากมีบริการอื่น ๆ ที่ทำงานอยู่ที่ขึ้นอยู่กับบริการ HTTP คุณจะได้รับรายชื่อ ตรวจสอบอีกครั้งเพื่อดูว่ามีอะไรในรายการที่คุณไม่สามารถทนได้หากไม่มี หรือถ้าคุณเพียงแค่หยุด HTTP เพื่อใช้พอร์ต 80 ชั่วคราวให้จดบันทึกบริการที่ต้องพึ่งพาเหล่านั้นซึ่งคุณจะต้องรีสตาร์ทเมื่อคุณทำพอร์ตเสร็จแล้ว ไม่ว่าจะด้วยวิธีใดถ้าเป็นไรให้เข้าสู่yการดำเนินการต่อ
  4. บริการบางอย่างอาจขึ้นอยู่กับการเตือนหยุดการควบคุมที่ยกเลิกการดำเนินการ; ทำซ้ำnet stop HTTPจนกว่าจะหยุด (เช่นจนกว่ามันจะบอกว่าThe HTTP service was stopped successfully.)
  5. ในภายหลังคุณสามารถเริ่มบริการใด ๆ ที่อ้างอิงnet startหรือใช้โดยใช้รายการบริการในเครื่องมือการดูแลระบบและบริการ HTTP จะเริ่มต้นอีกครั้งโดยอัตโนมัติ

1
สิ่งนี้มีประโยชน์มากในการพิจารณาบริการที่ต้องพึ่งพา - ขอบคุณ!
Rory

นี่คือทางออกสำหรับฉัน!
Girardi

สำหรับฉันมันหยุดบริการที่เกี่ยวข้องทั้งหมดแล้วพูดว่า "ไม่สามารถหยุดบริการ HTTP" และการเริ่มต้นnet stop httpอีกครั้งบอกให้ฉัน "ลองอีกครั้งในภายหลัง" เกิดอะไรขึ้นกับระบบของฉัน :-)
Tominator

ใช้net stop HTTPงานได้สำหรับฉัน
พอลวิลเลียมส์

หากคุณได้รับtry again later messageคุณอาจใช้บริการ Microsoft Web Deployment Service support.microsoft.com/kb/2597817หากคุณใช้เพื่อรักษา IIS คุณอาจไม่ต้องการหยุด HTTP ในตอนแรก =)
rakslice

3

telnet localhost 80 ส่งคืน HttpAPI / 2.0 ซึ่งจะหมายถึง "บริการรายงานเซิร์ฟเวอร์ SQL" การหยุดการเผยแพร่พอร์ตเดียวกัน 80


ฉันพบว่าบริการรายงานของเซิร์ฟเวอร์ SQL เป็นสาเหตุของปัญหาเช่นกัน
JT

นี่เป็นเครื่องมือดีบั๊กที่มีประโยชน์ในการใช้ 'telnet' เพื่อรับข้อมูลมากกว่าเว็บเบราว์เซอร์ที่จะให้คุณ ขอบคุณ บริการรายงานของเซิร์ฟเวอร์ SQL เป็นตัวการในกรณีของฉันเช่นกัน
Mark Lakata

0

ใช้ ProcessExplorer เรียกใช้เปิดคุณสมบัติ TCP / IP ของทุกกระบวนการ (บริการ) ค้นหากระบวนการ (บริการ) ที่ฟังพอร์ต http (80) และปิดสวิตช์

ฉันพบว่าเซิร์ฟเวอร์ Autodesk EDM กำลังฟังพอร์ต http (80)


3
สิ่งนี้ใช้ไม่ได้กับบริการที่ทำงานในระบบ (เช่นด้วย PID 4)
N Reed

ฉันคิดว่าคุณควรทำ 'netstat -anbo' ดีกว่า มันจะบอกคุณตรงถึงสิ่งที่อยู่ในพอร์ต 80 ... ยกเว้นว่าจะเป็น PID 4
Mark Lakata
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.