Як я можу звільнити свій порт 80 в Windows Windows localhost?


124

Я встановив XAMPP 1.6.8 і чомусь він не працював. Пізніше реалізований порт 80 не є безкоштовним або не слухає. Як я можу звільнити його або зробити його безкоштовним?

Дуже дякую!




Я вважаю, що це повторне запитання (будь-ласка, знайдіть відповідь там) -> stackoverflow.com/questions/1430141/…
Гнів

Дублікат чи ні. Це перший хіт в Google .
Bitterblue

Відповіді:


113

Ця агонія для мене вирішена. Я дізнався, що те, що переймає порт 80, - це сервіс http api. Я написав у cmd:

net stop http

Питав мене: "Наступні послуги будуть припинені, ви хочете продовжити?" Натиснув y

Це фактично зупинило низку послуг.

Потім написав localhostі валла, Apache працює і працює на порту 80.
Сподіваюся, це допомагає

Важливо : Skype використовує порт 80 за замовчуванням, ви можете змінити це в параметрах скайпу> розширений> з'єднання - і зніміть прапорець "використовувати порт 80"


У Windows 7 я не міг зупинити процеси через "відмову в доступі", але він показав мені назви процесів, які були б убитими, якби я мав права (я не мав прав на netstat -a -b).
Павло В.

1
@PavelV. вам слід запустити командний рядок з адміністративними правами. відкрити старт і написати в пошуку "cmd" клацніть правою кнопкою миші на cmd та виберіть Запустити як адміністратор.
MuhFred

67

netstat -ano

Це покаже вам PID процесу, який слухається на порту 80. Після цього відкрийте вкладку Диспетчер завдань -> Процеси. У View -> Select Columnsменю ввімкніть PIDстовпчик, і ви побачите ім'я прослуховування процесу на порту 80.


1
Це добре, оскільки можуть бути й інші процеси з такою ж назвою. Мені цікаво, чи є в Windows команда kill, яку я можу запустити проти знайденого PID, а не робити це через диспетчер завдань.
Sundeep

taskkill не вбиває завдання. На ньому все ще відображається порт 80, що працює. @Jijo
Aakash Thakur

1
чи можете ви спробувати використовувати / f / t наприкінці, це насильно знищить завдання, я зараз в системі Linux, не перевірено
Jijo

41

netstat -a -b

Слід сказати, яка програма пов'язана з портом 80


1
він просто дав мені байти, одноадресні тощо. не давав того, що пов'язано з портом 80. Я щось пропустив?

6
ntoskrnl.exe - тепер що?
Тім Ловелл-Сміт

1
Я спробував це, і він сказав, що "запитувана операція вимагає підвищення"
createcape

Ти БОГ! Поклонившись , цим я зміг знайти власне ім’я служби, яке має однаковий ідентифікатор процесу з іншими, тому я не міг з'ясувати перед реальною службою вбивство від менеджера завдань. Дійсно дякую!
divy3993

36

У мене була ця проблема раніше,

якщо ви побачите диспетчер завдань (після ввімкнення представлення для PID), ви знайдете, що PID = 4 - "порт 80, який використовується NT Kernel & System;"

Просто зайдіть

  1. Панель управління
  2. Програми
  3. Увімкнення / вимкнення функцій Windows
  4. перевірити , якщо World wide web servicesпід IISперевіряється

Якщо так, зніміть прапорці та netstat (або TCPVIEW) ще раз, щоб перевірити, чи 80 вільний.


2
Win7: меню запуску в пошуку "IIS" відкриває "IIS manager", де ви можете відключити сервер.
Філіп

34

використовуйте netstat -bano в підвищеному командному рядку, щоб побачити, які програми слухають, в яких портах.

Але зазвичай наступні програми використовують порт 80 у Windows.

  1. IIS
  2. Служба всесвітнього веб-видавництва
  3. Служба адміністратора IIS
  4. Послуги звітування SQL Server
  5. Служба агента веб-розгортання

Зупиніться над програмами, якщо запущено і перевірити !!!


Чи знаєте ви яким-небудь чином, як переконатися, що ці сервіси не використовують порт 80?
rahoolm


6

Інший варіант, який потрібно спробувати, - це припинити послуги звітування SQL Server.


спасибі, для мене це були служби звітування SQL Server (MSSQLSERVER), не знаю, чому, але коли я припиняю його консоллю сервісів, обробляю pid 4, не зв'язаний з 0.0.0.0:80
Володимир Шмідт

6

Ви можете використовувати net stop httpйого, відобразиться, який процес використовується. Використовуються веб-сервіси Moslty у всьому світі


6

Спробуйте

netstat -anb -p tcp

які показують порти та процеси


Мій статус програми xampp відображає стан apache та mysql 1 запуск 1 сервіс 1 Але браузер все ще не відображає localhost. чому так? якісь покажчики? :(

5

Це лише здогадка, але оскільки порт 80 - це звичайний порт для HTTP, у вашій системі може бути запущений веб-сервер. Чи активний IIS?

Якщо у вас працює IIS, можливо, працює служба веб-ферми. Це було те, що вбило мій кемпп.


1
Ні, я не маю IIS. Я раніше використовував xampp, і він спрацював. Я думаю, що якийсь інший сервіс сидить на порту 80 і не дозволяє повторно встановити сервіс Apache на ньому.

2
Skype також любить красти порт 80, звичайний несподіваний винуватець!
Simon_Weaver

5

Введіть "netstat -ano" у свій командний рядок. Я побачив, що він щось показує для порту Local Address 0.0.0.0:80.

Моя проблема полягала в тому, що я мав служби звітування SQL Server на порт 80. Тому я дотримувався цих інструкцій і змінив порт № з 80 на 81:

http://seankilleen.com/2012/11/how-to-stop-sql-server-reporting-services-from-using-port-80-on-your-server-field-notes/

Ось малюнок мого командного рядка ПІСЛЯ я змінив номер порту для служб звітування SQL Server:

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

Якщо у вас все ще виникає проблема, прочитайте цей форум:

http://forum.wampserver.com/read.php?2,66196,66233#REPLY



4

У мене теж була така ж проблема. net stop httpне допомогло, і опція веб-служб у всьому світі під IIS в Панелі керування Windows була знята. Тож на панелі керування XAMPP я просто встановив прапорець Svc біля кнопки запуску Apache (Встановити Apache як сервіс) та перезавантажив Windows. І тепер кожен раз, коли Windows запускається Apache, автоматично запускається і займає порт 80, перш ніж будь-яка інша служба. Працювали для мене!


2

Відомі служби Windows, які слухають на порту 80

У диспетчері сервісів (запустіть: services.msc) зупиніть та вимкніть ці служби Windows, які, як відомо, прив'язуються до порту 80.

Двічі клацніть Служба та змініть "Тип запуску" на "Відключено" ...

  1. Послуги звітування SQL Server (ReportServer)
  2. Служба агента веб-розгортання (MsDepSvc)
  3. BranchCache (PeerDistSvc)
  4. Служба синхронізації Share (SyncShareSvc)
  5. Всесвітня послуга публікації веб-сторінок (W3SVC)
  6. Інтернет-сервер інформації (WAS, IISADMIN)

skype також використовує порт 80 як налаштування за замовчуванням, і ви можете зняти його.

Ви можете встановити та запустити деякі з цих служб.

У моєму випадку "Служби звітування SQL Server" відкривали порт 80.


0

Для мене ця проблема почалася, коли я розмістив VPN-з'єднання на своєму комп’ютері Windows 8.

Просто видалення з'єднання з "Панелі управління \ Мережа та Інтернет \ Мережеві з'єднання" вирішило проблему.


0

Я намагався встановити nginxзвідси - http://nginx.org/en/docs/windows.html

Перейшовши на http: // localhost / покаже щось, принаймні належне повідомлення "не знайдено"
Це тому, що 80 - це порт за замовчуванням, і його взяли інші процеси.

Тепер запустіть команду нижче:

net stop http

    // Above command stopped below services  
    // - SSDP Discovery  
    // - Print Spooler  
    // - BranchCache  
    // - Function Discovery Resource Publication  
    // - Function Discovery Provider Host  

Тепер, перейти на http: // localhost / не вдасться із непрацездатним повідомленням на сторінці посилання.

Основний процес: BranchCache
Цей процес, після зупинки, перезапуститься через кілька секунд.
Отже, незабаром нам потрібно запустити інші потрібні нам команди, приклад нижче:

// this will stop
net stop http

// immeidately run other command you want to
start nginx

Тепер перейдіть до http: // localhost / дав мені:

Welcome to nginx!

Сподіваюся, що це допомагає.


-1

у моєму випадку відкрийте вікно, щоб зупинити службу агента веб-розгортання. Введіть в cmd

 net stop msdepsvc 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.