Perché il processo di sistema è in ascolto sulla porta 80?


81

Sto eseguendo Windows 7 RC1. Ho diversi problemi a far funzionare IIS sul mio sistema e oggi quando ho installato una nuova applicazione e ho provato a caricarla usando http: \ localhost \ MyApplication non ricevo assolutamente errori e non ricevo il caricamento della pagina. Solo una bella pagina bianca vuota.

Ho fatto degli scavi e ho trovato qualcosa su qualche altro processo in ascolto sulla porta 80, quindi ho fatto una scansione usando netstat -aon | findstr 0.0:80e ho scoperto che PID 4 stava ascoltando su quella porta.

PID 4 non viene visualizzato nel Task Manager, quindi ho avviato Process Explorer e mi ha mostrato che PID 4 è il processo di sistema. (Ricerche multiple su Google sembrano indicare che il sistema utilizza sempre PID 4).

Da allora sono praticamente bloccato. Non ho idea del perché il sistema abbia bisogno della porta 80 e cosa fare al riguardo.

Se cerchi su Google le seguenti stringhe troverai due utili articoli di scambio di esperti nella parte superiore dei risultati della ricerca e puoi leggerli per alcune informazioni utili.

(Se fornissi l'URL diretto alle pagine, allora Experts-Exchange ti chiederebbe di pagare ... ma quando fai clic sui risultati di una ricerca su Google puoi scorrere fino in fondo per leggere gli scambi.)

Ecco la ricerche di Google ...
"processo di sistema è in ascolto sulla porta 80 (Vista)"
"sistema di processo è in ascolto sulla porta 80 e Prevenzione IIS Sito Web predefinito da Running"

L'ultima voce del primo risultato ha mostrato come eseguire una traccia di http.sys al seguente URL:

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

La traccia non ha mostrato nulla di utile. qualche idea?


Stessi problemi qui, tranne, ho provato tutte le risposte come suggerito e niente. Non posso semplicemente iniziare a chiudere i servizi perché si tratta di un server cloud fuori sede.
Jerry Dodge,

Intendevi dire che stai utilizzando Windows 7 SP1 e non RC1?
cmorse


Probabilmente questo non risolve effettivamente il tuo problema, comunque puoi cambiare la porta di Apache in 8080... Beh, questa non è una soluzione, ma potrebbe funzionare temporaneamente fino a quando non avrai la soluzione giusta ... La soluzione @rakslice mi ha risolto il problema
Girardi

La cosa skype è la soluzione! chiudi skype e avvia apache. fatto!
Codebeat

Risposte:


28

Questo post su Come far funzionare Apache sulla porta 80 su Windows 7 (archivio Internet) descrive il tuo punto.

Sembra che il servizio ' http.sys' (Gestione remota di Windows?) Sia abilitato per impostazione predefinita in Windows 7.
Esegui i commenti su quel link per altre note ...

il sito ipenico non ha necessariamente le uniche risposte.


1
Un altro grande articolo: devside.net/wamp-server/…
spina

2
E questo è ancora rilevante oggi con Windows 8.1
Sverrir Sigmundarson,

3
Il sito non è in linea. Puoi aggiungere le informazioni essenziali alla risposta?
fixer1234

4
Per me è stato il servizio di pubblicazione su World Wide Web - è stato impostato automaticamente su predefinito e deve utilizzare la porta 80.
rockerston

1
Aggiornato da Windows 7 a Windows 10 e ha attivato il servizio di pubblicazione su World Wide Web su automatico. Pazzo perché non uso nemmeno IIS.
Phil_1984_

49

"Web Deployment Agent Service" viene eseguito sulla porta 80 come Sistema. Potresti averlo in esecuzione se stai usando WebMatrix.


Link correlato: eat.cheezburger.com/author/johnc . Ho disinstallato i due porgram elencati: "Microsft Web Deploy 2.0" e "Web Deployment Tool" (così come WebMatrix stesso)
Frank Schwieterman,


1
Vedi stackoverflow.com/questions/5867392 per informazioni su come cambiare questa porta.
tony722,

Ho interrotto il servizio agente di distribuzione Web e impostato su Avvio manuale, quindi ho confermato che posso ancora pubblicare su IIS su questo server da Visual Studio ed è tutto a posto. La porta 80 è ora disponibile per me e la mia altra funzionalità funziona ancora.
JMD,

net stop "Web Deployment Agent Service"liberato 80 per me.
Philippe Signoret,

46

Aprire Services.msc e interrompere questo servizio "SQL Server Server Reporting Services (MSSQLSERVER)"

inserisci qui la descrizione dell'immagine

Avevo provato TUTTO, ma ha funzionato per me:

ulteriori istruzioni su come interrompere quel servizio sono di seguito

  1. Fare clic con il tasto destro su Risorse del computer
  2. Seleziona Gestisci
  3. Fare doppio clic su Servizi e applicazioni
  4. Quindi fare doppio clic su Servizi
  5. Fare clic con il tasto destro su "Servizi di segnalazione server SQL (MSSQLSERVER)"
  6. Selezionare Stop ... e voilà, la porta 80 è stata rilasciata

7
+1. Era davvero SQL Server nel mio caso.
Assaf Levy,

Questo ha funzionato anche per me. Ho interrotto tutti i servizi correlati a SQL (incluso questo) e la porta 80 è stata rilasciata.
Mark Lakata,

+1 ma ho bisogno di SSRS in esecuzione, quindi suppongo che in futuro devo dire a SSRS di utilizzare una porta diversa?
Chris Moutray,

"Non stai usando quella porta? Lo accetterò! Oh, scusa, ne avevi bisogno? Non hai ricevuto il promemoria?"
batCattle,

1
@AssafLevy il tuo commento è un disservizio per le cose delle persone e delle nuvole e potrebbe far pensare che la risposta non sia buona come è. Non è SQL Server, è il reporting di SQL Server. Il server SQL funziona su 3306. Il reporting del server SQL è il problema e viene eseguito sulla porta 80
barlop

19

È possibile interrompere temporaneamente il servizio HTTP dalla riga di comando:

  1. Esegui un prompt dei comandi dell'amministratore (ad es. Avvia, cerca cmd, fai clic destro su di esso, scegli "Esegui come amministratore", approva l'eventuale prompt UAC).
  2. genere net stop HTTP
  3. Se ci sono altri servizi in esecuzione che dipendono dal servizio HTTP, otterrai un elenco; ricontrolla per vedere se c'è qualcosa elencato lì di cui non puoi sopportare di fare a meno. In alternativa, se si sta semplicemente arrestando HTTP per utilizzare temporaneamente la porta 80, prendere nota dei servizi dipendenti che si desidera riavviare al termine della porta. In entrambi i casi, se va bene, entra yper continuare.
  4. Alcuni servizi dipendenti potrebbero generare avvisi di controllo arresto che annullano l'operazione; basta ripetere net stop HTTPfino a quando non viene arrestato (ovvero fino a quando non dice The HTTP service was stopped successfully.)
  5. Successivamente, è possibile riavviare uno qualsiasi dei servizi dipendenti, utilizzando net starto utilizzando l'elemento Servizi in Strumenti di amministrazione e il servizio HTTP verrà riavviato automaticamente.

1
Questo è molto utile per determinare i servizi dipendenti - grazie!
Rory,

questa è stata la soluzione per me!
Girardi

Per me, ha interrotto tutti i servizi correlati, quindi ha detto "Impossibile arrestare il servizio HTTP" e ricominciare net stop httpmi dice di "riprovare più tardi". Cosa c'è di sbagliato nel mio sistema :-)
Tominator

Usando ha net stop HTTPfunzionato per me.
Paul Williams,

Se stai ricevendo un try again later message, potresti eseguire il servizio di distribuzione Web Microsoft. support.microsoft.com/kb/2597817 Se lo stai effettivamente utilizzando per mantenere IIS, probabilmente non volevi interrompere HTTP in primo luogo =).
rakslice,

3

telnet localhost 80 restituisce HttpAPI / 2.0 che a sua volta significa "servizio di segnalazione del server SQL". Arresto della stessa porta di rilascio 80.


Ho scoperto che il colpevole era anche il servizio di reportistica di SQL Server.
JT

Questo è un utile strumento di debug, per usare 'telnet' per ottenere più informazioni di quelle che ti darà un browser web. Grazie. Anche i servizi di reportistica di SQL Server sono stati il ​​colpevole nel mio caso.
Mark Lakata,

0

Prendi ProcessExplorer, eseguilo, apri le proprietà TCP / IP di ogni processo (servizio), trova il processo (servizio) che ascolta la porta http (80) e spegnilo.

Ho scoperto che Autodesk EDM Server stava ascoltando la porta http (80).


3
Questo non funziona per i servizi in esecuzione all'interno del sistema (ovvero, con un PID di 4)
N Reed

Penso che stai meglio facendo 'netstat -anbo'. Ti dirà chiaramente cosa c'è sulla porta 80 ... tranne se è PID 4.
Mark Lakata
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.