Come posso liberare la mia porta 80 su Windows localhost?


124

Ho installato XAMPP 1.6.8 e per qualche motivo non ha funzionato. Successivamente la porta 80 realizzata non è libera o non è in ascolto. Come posso rilasciarlo o renderlo gratuito?

Molte grazie!




Credo che questa sia una domanda duplicata di (per favore trova la risposta qui) -> stackoverflow.com/questions/1430141/…
Dung

Duplicare o no. Questo è il primo colpo su Google .
Bitterblue

Risposte:


113

Quell'agonia è stata risolta per me. Ho scoperto che ciò che stava prendendo il sopravvento sulla porta 80 è il servizio API http. Ho scritto in cmd:

net stop http

Mi ha chiesto "I seguenti servizi verranno interrotti, vuoi continuare?" Premuto y

In realtà ha interrotto una serie di servizi.

Poi ha scritto localhoste wallah, Apache è attivo e funzionante sulla porta 80.
Spero che questo aiuti

Importante : Skype utilizza la porta 80 per impostazione predefinita, puoi modificarla nelle opzioni skype> avanzate> connessione e deselezionare "usa la porta 80"


Su Windows 7, non potevo fermare i processi a causa di "accesso negato", ma mi mostrava i nomi dei processi che sarebbero stati uccisi se avessi avuto i diritti (non avevo i diritti per netstat -a -b).
Pavel V.

1
@PavelV. dovresti eseguire il prompt dei comandi con diritti amministrativi. apri start e scrivi nella ricerca "cmd" fai clic con il tasto destro su cmd e seleziona Esegui come amministratore.
MuhFred

67

netstat -ano

Questo ti mostrerà il PID del processo che è in ascolto sulla porta 80. Successivamente, apri il Task Manager -> scheda Processi. Dal View -> Select Columnsmenu, abilita la PIDcolonna e vedrai il nome del processo in ascolto sulla porta 80.


1
Questo è positivo in quanto possono esserci altri processi con lo stesso nome. Mi chiedo se in Windows esista un comando kill che posso eseguire sul PID trovato invece di farlo tramite task manager.
domenica

taskkill non uccide l'attività. Mostra ancora la porta 80 in esecuzione. @Jijo
Aakash Thakur

1
puoi provare a usare / f / t alla fine, ucciderà forzatamente l'attività, sono attualmente su un sistema Linux, non verificato
Jijo

41

netstat -a -b

Dovrebbe dirti quale programma è associato alla porta 80


1
mi ha dato solo byte, unicast ecc. ecc. non ha dato ciò che è vincolato sulla porta 80. Mi sono perso qualcosa?

6
ntoskrnl.exe - e adesso?
Tim Lovell-Smith

1
Ho provato questo e diceva "l'operazione richiesta richiede elevazione"
createscape

Tu sei dio! Inchinandosi , da questo sono stato in grado di trovare il nome del servizio effettivo che aveva lo stesso ID processo con gli altri, quindi non sono riuscito a capire prima che il servizio effettivo da uccidere dal task manager. Grazie davvero!
divy3993

36

Ho avuto questo problema in precedenza,

se vedi il Task manager (dopo aver abilitato la visualizzazione per PID), troverai PID = 4 "porta 80 in uso da NT Kernel & System;"

Vai a

  1. Pannello di controllo
  2. programmi
  3. Attiva / disattiva le funzionalità di Windows
  4. controllare se il World wide web servicessotto IISè controllato

In tal caso, deseleziona e netstat (o TCPVIEW) di nuovo per vedere se 80 è libero.


2
Win7: il menu di avvio cercando "IIS" fa apparire il "gestore IIS", dove è possibile disabilitare il server.
Philipp

34

usa netstat -bano in un prompt dei comandi con privilegi elevati per vedere quali app sono in ascolto su quali porte.

Ma di solito le seguenti applicazioni utilizzano la porta 80 in Windows.

  1. IIS
  2. Servizio di pubblicazione sul Web
  3. Servizio di amministrazione di IIS
  4. Servizi di reportistica di SQL Server
  5. Servizio agente di distribuzione Web

Fermare le applicazioni sopra se in esecuzione e controllare !!!


Sai in qualche modo come assicurarti che questi servizi non utilizzino la porta 80?
rahoolm


6

Un'altra opzione da provare è arrestare SQL Server Reporting Services.


grazie, per me era SQL Server Reporting Services (MSSQLSERVER), non so perché ma quando lo chiudo dalla console dei servizi, processo con pid 4 non associato da 0.0.0.0:80
Vladimir Shmidt

6

Puoi usarlo net stop httpmostrerà quale processo sta usando. I servizi Web di Moslty stanno usando


6

Provare

netstat -anb -p tcp

che mostrano porte e processi


Lo stato della mia applicazione xampp mostra sia apache che mysql state 1 start 1 service 1 Ma il browser non mostra ancora localhost. perchè così? eventuali suggerimenti? :(

5

Questa è solo una supposizione, ma poiché la porta 80 è la porta convenzionale per HTTP, potresti avere un server web in esecuzione sul tuo sistema. IIS è attivo?

Se stai eseguendo IIS, potresti avere il servizio della web farm in esecuzione. Questo era ciò che stava uccidendo il mio xampp.


1
No, non ho un IIS. Ho usato xampp prima e aveva funzionato. Immagino che qualche altro servizio si trovi sulla porta 80 e non consenta la reinstallazione del servizio Apache su di essa.

2
A Skype piace anche rubare la porta 80, un colpevole inaspettato comune!
Simon_Weaver

5

Digita "netstat -ano" nella riga di comando. Ho visto che mostrava qualcosa per la porta dell'indirizzo locale 0.0.0.0:80.

Il mio problema era perché avevo SQL Server Reporting Services sulla porta 80. Quindi ho seguito queste istruzioni e ho cambiato il numero di porta da 80 a 81:

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

Ecco un'immagine della mia riga di comando DOPO aver cambiato il numero di porta per SQL Server Reporting Services:

inserisci qui la descrizione dell'immagine

Se hai ancora lo stesso problema, leggi questo forum:

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


4

A Skype piace usare la porta 80 e blocca IIS. Questo era il mio problema.


4

Ho anche avuto lo stesso problema. net stop httpnon ha aiutato e l' opzione dei servizi web in tutto il mondo in IIS nel Pannello di controllo di Windows era deselezionata. Quindi nel pannello di controllo XAMPP ho appena selezionato la casella di controllo Svc vicino al pulsante di avvio di Apache (Installa Apache come servizio) e riavviato Windows. E ora ogni volta che Windows si avvia Apache viene avviato automaticamente e occupa la porta 80 prima di qualsiasi altro servizio. Ha funzionato per me!


2

Servizi Windows noti in ascolto sulla porta 80

Da Gestione servizi (esegui: services.msc), arrestare e disabilitare questi servizi di Windows che sono noti per essere collegati alla porta 80.

Fare doppio clic sul servizio e modificare "Tipo di avvio" in "Disabilitato" ...

  1. SQL Server Reporting Services (ReportServer)
  2. Servizio agente di distribuzione Web (MsDepSvc)
  3. BranchCache (PeerDistSvc)
  4. Servizio di condivisione di sincronizzazione (SyncShareSvc)
  5. Servizio di pubblicazione sul Web (W3SVC)
  6. Internet Information Server (WAS, IISADMIN)

skype utilizza anche la porta 80 come impostazione predefinita e puoi deselezionarla.

Alcuni di questi servizi potrebbero essere installati e in esecuzione o meno.

Nel mio caso "SQL Server Reporting Services" stava aprendo la porta 80.


0

Per me, questo problema è iniziato quando ho ospitato una connessione VPN sul mio computer Windows 8.

La semplice eliminazione della connessione da "Pannello di controllo \ Rete e Internet \ Connessioni di rete" ha risolto il problema.


0

Stavo cercando di installare nginxda qui - http://nginx.org/en/docs/windows.html

Andare su http: // localhost / mostrerà qualcosa, almeno un messaggio "non trovato" appropriato
Questo perché 80 è la porta predefinita ed è stata presa da altri processi.

Ora esegui sotto il comando:

net stop http

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

Ora, andando su http: // localhost / fallirà con un messaggio di pagina di collegamento interrotto.

Il processo principale era BranchCache
Questo processo, una volta interrotto, verrà riavviato in pochi secondi.
Quindi dobbiamo eseguire presto altri comandi di cui abbiamo bisogno, un esempio di seguito:

// this will stop
net stop http

// immeidately run other command you want to
start nginx

Ora, andando su http: // localhost / mi ha dato:

Welcome to nginx!

Spero che aiuti.


-1

nel mio caso, la finestra è per arrestare il servizio dell'agente di distribuzione Web. Digitare cmd

 net stop msdepsvc 
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.