Чому системний процес прослуховування на портах 80?


81

Я працюю під управлінням Windows 7 RC1. У мене є декілька проблем, з якими IIS працює над моєю системою, і сьогодні, коли я встановив нову програму, і я спробував завантажити її за допомогою http: \ localhost \ MyApplication, я не отримую абсолютно ніяких помилок і не отримую завантаження сторінки. Просто гарна, біла порожня сторінка.

Я здійснив копання, і я знайшов щось про інший процес прослуховування на порту 80, тому я зробив сканування, використовуючи netstat -aon | findstr 0.0:80і виявив, що PID 4 слухає цей порт.

PID 4 не відображається в диспетчері завдань, тому я запустив Провідник процесів, і він показав мені, що PID 4 - це системний процес. (Багатократний пошук у Google, схоже, вказує на те, що Система завжди використовує PID 4).

Відтоді я в основному застряг. Я поняття не маю, чому Системі потрібен порт 80 і що з цим робити.

Якщо ви перейдете в google наступні рядки, ви знайдете дві корисні статті Experts-Exchange у верхній частині результатів пошуку, і ви зможете прочитати їх для отримання корисної інформації.

(Якщо я дав пряму URL-адресу сторінкам, тоді експерт-біржа попросить вас заплатити ... але коли ви натискаєте на результати пошуку в Google, ви можете прокрутити весь шлях донизу, щоб прочитати обмін.)

Ось пошуки Google ...
"Системний процес прослуховується на порту 80 (Vista)"
"Процес SYSTEM прослуховується на порту 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

Сліди не показали нічого корисного. Будь-які думки?


Тут є і ті ж проблеми, за винятком того, що я спробував усі відповіді, як запропоновано, і нічого. Я не можу просто почати вимикати послуги, оскільки це хмарний сервер поза сайтом.
Джеррі Додж

Ви мали на увазі, що ви використовуєте Windows 7 SP1, а не RC1?
cmorse

4
Ви керуєте Skype? support.skype.com/en/faq/FA148/…
Plutext

Можливо, це насправді не вирішує вашу проблему, все одно ви можете змінити порт Apache на 8080... Ну, це не є рішенням, але може працювати тимчасово, поки ви не отримаєте належне рішення ... @rakslice рішення вирішило проблему для мене
Girardi

Річ у скайпі - це рішення! відключення скайпу та запуску апачу. зроблено!
Codebeat

Відповіді:


28

Ця публікація про те, як Apache запустити порт 80 в Windows 7 (Інтернет-архів) описує вашу думку.

Здається, що http.sysпослуга ' ' (Віддалене управління Windows?) Увімкнено за замовчуванням у Windows 7.
Перегляньте коментарі на цьому посиланні для отримання додаткових приміток ...

сайт hypen не обов’язково має єдині відповіді.


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, і сервіс Всесвітньої веб-публікації автоматично увімкнено. Божевільний, бо я навіть не використовую IIS.
Phil_1984_

49

"Служба агента веб-розгортання" працює на порту 80 як System. Це може бути запущено, якщо ви використовуєте WebMatrix.


Пов’язане посилання: eat.cheezburger.com/author/johnc . Я видалив дві перераховані порграми: "Microsft Web Deploy 2.0" та "Інструмент веб-розгортання" (а також сама WebMatrix)
Frank Schwieterman

Посилання на посилання: remkoweijnen.nl/blog/2012/01/02/…
Ремко

1
Щоб дізнатися, як змінити цей порт, перегляньте stackoverflow.com/questions/5867392 .
tony722

Я зупинив службу агента веб-розгортання і встановив її вручну, а потім підтвердив, що я все ще можу публікувати на IIS на цьому сервері від Visual Studio, і все це добре. Порт 80 зараз доступний для мене, а моя інша функціональність все ще працює.
JMD

net stop "Web Deployment Agent Service"звільнив для мене 80.
Філіп Синьорет

46

Відкрийте Services.msc і зупиніть цю послугу "Служби звітування сервера Sql (MSSQLSERVER)"

введіть тут опис зображення

Я намагався ВСЕ, але це працювало для мене:

подальші вказівки щодо припинення цієї служби наведено нижче

  1. Клацніть правою кнопкою миші на Мій комп'ютер
  2. Виберіть Керувати
  3. Двічі клацніть Служби та програми
  4. Потім двічі клацніть Послуги
  5. Клацніть правою кнопкою миші на "Служби звітування сервера Sql (MSSQLSERVER)"
  6. Виберіть Stop ... і voila, порт 80 був звільнений

7
+1. У моєму випадку це був справді SQL Server.
Ассаф Леві

Це працювало і для мене. Я зупинив усі пов'язані з SQL сервіси (включаючи цей) і вийшов порт 80.
Марк Лаката

+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
Це дуже корисно для визначення залежних служб - дякую!
Рорі

це було рішенням для мене!
Girardi

Для мене він зупинив усі пов’язані сервіси, потім сказав "Неможливо зупинити сервіс HTTP", і, починаючи net stop httpзнову, каже мені "спробувати ще раз пізніше". Що не так з моєю системою :-)
Tominator

Використання net stop HTTPпрацювало для мене.
Пол Вільямс

Якщо ви отримуєте try again later message, можливо, ви запустили службу веб-розгортання Microsoft. support.microsoft.com/kb/2597817 Якщо ви фактично використовуєте це для підтримки IIS, ви, ймовірно, не хотіли в першу чергу зупиняти HTTP =).
rakslice

3

telnet localhost 80 повертає HttpAPI / 2.0, що в свою чергу означає "сервіс звітування сервера Sql". Зупинення того ж порта випусків 80.


Я виявив, що винуватцем служб звітування на серверах SQL.
JT

Це корисний інструмент налагодження, щоб використовувати 'telnet', щоб отримати більше інформації, ніж надасть вам веб-браузер. Дякую. Винуватцем мого випадку також стали послуги звітності на серверах SQL.
Марк Лаката

0

Візьміть ProcessExplorer, запустіть його, відкрийте властивості TCP / IP кожного процесу (послуги), знайдіть процес (послугу), який прослуховує порт http (80), і вимкніть його.

Я виявив, що Autodesk EDM Server прослуховував порт http (80).


3
Це не працює для служб, що працюють в системі (тобто, PID 4)
N Reed,

Я думаю, вам краще робити "netstat -anbo". Він підкаже вам, що знаходиться на порту 80 ... за винятком випадків, коли це PID 4.
Позначте Лаката
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.