¿Cómo libero mi puerto 80 en Windows localhost?

124

Instalé XAMPP 1.6.8 y por alguna razón no funcionó. Más tarde se dio cuenta de que el puerto 80 no es gratuito o no escucha. ¿Cómo puedo liberarlo o hacerlo gratis?

¡Muchas gracias!

informatik01
fuente
Creo que esta es una pregunta duplicada de (encuentre la respuesta allí) -> stackoverflow.com/questions/1430141/…
Dung
Duplicado o no. Este es el primer golpe en Google .
Bitterblue

Respuestas:

113

Esa agonía ha sido resuelta para mí. Descubrí que lo que estaba tomando el puerto 80 es el servicio http api. Escribí en cmd:

net stop http

Me preguntó "Los siguientes servicios se detendrán, ¿quieres continuar?" Presionado y

Se detuvo una serie de servicios en realidad.

Luego escribió localhosty wallah, Apache está funcionando en el puerto 80.
Espero que esto ayude

Importante : Skype usa el puerto 80 de manera predeterminada, puede cambiar esto en las opciones de skype> avanzado> conexión, y desmarque "usar puerto 80"

MuhFred
fuente
En Windows 7, no pude detener los procesos debido a "acceso denegado", pero me mostró los nombres de los procesos que serían eliminados si tuviera los derechos (no tenía derechos para netstat -a -b).
Pavel V.
1
@PavelV. debe ejecutar el símbolo del sistema con derechos administrativos. abra el inicio y escriba en la búsqueda "cmd", haga clic derecho en cmd y seleccione Ejecutar como administrador.
MuhFred
67

netstat -ano

Eso le mostrará el PID del proceso que está escuchando en el puerto 80. Después de eso, abra el Administrador de tareas -> pestaña Procesos. Desde el View -> Select Columnsmenú, habilite la PIDcolumna y verá el nombre del proceso escuchando en el puerto 80.

Francisco
fuente
1
Esto es bueno ya que puede haber otros procesos con el mismo nombre. Me pregunto si hay algún comando kill en Windows que pueda ejecutar contra el PID encontrado en lugar de hacerlo a través del administrador de tareas.
Sundeep
taskkill no mata la tarea. Sigue mostrando el puerto 80 en ejecución. @Jijo
Aakash Thakur
1
¿puede intentar usar / f / t al final, matará forzosamente la tarea, actualmente estoy en un sistema Linux, no verificado?
Jijo
41

netstat -a -b

Debería decirle qué programa está vinculado al puerto 80

Chad Grant
fuente
1
solo me dio bytes, unidifusión, etc., etc., no dio lo que está vinculado en el puerto 80. ¿Me perdí algo?
66
ntoskrnl.exe: ¿y ahora qué?
Tim Lovell-Smith
1
Intenté esto y decía "la operación solicitada requiere elevación"
createcape
¡Tú eres Dios! Inclinándome , con esto pude encontrar el nombre de servicio real que tenía la misma ID de proceso con otros, por lo que no pude averiguar antes del servicio real que matar desde el administrador de tareas. ¡Realmente gracias!
divy3993
36

Tuve este problema anteriormente,

si ve el Administrador de tareas (después de habilitar la vista para PID), encontrará que PID = 4 es "el puerto 80 en uso por NT Kernel & System;"

Solo ve a

  1. Panel de control
  2. Programas
  3. Activar / desactivar las características de Windows
  4. comprobar si el World wide web servicesbajo IISestá marcada

Si es así, desmarque y netstat (o TCPVIEW) nuevamente para ver si 80 está libre.

Eswar Rajesh Pinapala
fuente
2
Win7: la búsqueda en el menú de inicio de "IIS" muestra el "Administrador de IIS", donde puede deshabilitar el servidor.
Philipp
34

use netstat -bano en un símbolo del sistema elevado para ver qué aplicaciones están escuchando en qué puertos.

Pero, por lo general, las siguientes aplicaciones usan el puerto 80 en Windows.

  1. IIS
  2. Servicio de publicación en la World Wide Web
  3. Servicio de administración de IIS
  4. Servicios de informes de SQL Server
  5. Servicio de agente de implementación web

¡Deténgase por encima de las aplicaciones si se está ejecutando y verifique!

Rushik Parikh
fuente
¿Sabe de alguna manera cómo asegurarse de que estos servicios no utilicen el puerto 80?
rahoolm
6

Otra opción para intentar es detener SQL Server Reporting Services.

Kinjal Dixit
fuente
gracias, para mí fue SQL Server Reporting Services (MSSQLSERVER), no sé por qué, pero cuando lo finalizo por la consola de servicios, proceso con pid 4 sin vincular desde 0.0.0.0:80
Vladimir Shmidt
6

Puede usarlo net stop httppara mostrar qué proceso está usando. Los servicios de Moslty World Wide Web están utilizando

Warwicky
fuente
6

Tratar

netstat -anb -p tcp

que muestran puertos y procesos

MBaas
fuente
El estado de mi aplicación xampp muestra apache y mysql estado 1 inicio 1 servicio 1 Pero el navegador aún no muestra el localhost. ¿porque? cualquier puntero? :(
5

Esto es solo una suposición, pero dado que el puerto 80 es el puerto convencional para HTTP, es posible que tenga un servidor web ejecutándose en su sistema. ¿IIS está activo?

Si está ejecutando IIS, es posible que tenga el servicio de granja web en ejecución. Eso fue lo que estaba matando a mi xampp.

Thomas L Holaday
fuente
1
No, no tengo un IIS. Utilicé xampp antes y había funcionado. Supongo que algún otro servicio se encuentra en el puerto 80 y no permite la reinstalación del servicio Apache en él.
2
¡Skype también le gusta robar el puerto 80, un culpable inesperado común!
Simon_Weaver
5

Escriba "netstat -ano" en su línea de comando. Vi que mostraba algo para el puerto de dirección local 0.0.0.0:80.

Mi problema fue porque tenía SQL Server Reporting Services en el puerto 80. Así que seguí estas instrucciones y cambié el número de puerto de 80 a 81:

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

Aquí hay una imagen de mi línea de comando DESPUÉS de cambiar el número de puerto de SQL Server Reporting Services:

ingrese la descripción de la imagen aquí

Si todavía tiene el mismo problema, lea este foro:

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

Gene
fuente
4

A Skype le gusta usar el puerto 80 y bloquea IIS. Ese fue mi problema.

Marcelo Mason
fuente
4

También tuve el mismo problema. net stop httpno ayudó y la opción de servicios de World Wide Web bajo IIS en el Panel de control de Windows estaba desmarcada. Entonces, en el panel de control de XAMPP, simplemente marqué la casilla de verificación Svc cerca del botón de inicio de Apache (Instalar Apache como servicio) y reinicié Windows. Y ahora, cada vez que Windows se inicia, Apache se inicia automáticamente y ocupa el puerto 80 antes que cualquier otro servicio. ¡Trabajó para mi!

usuario2513149
fuente
2

Servicios de Windows conocidos que escuchan en el puerto 80

Desde el Administrador de servicios (ejecute: services.msc), detenga y deshabilite estos Servicios de Windows que se sabe que se unen al puerto 80.

Haga doble clic en Servicio y cambie 'Tipo de inicio' a 'Desactivado' ...

  1. SQL Server Reporting Services (ReportServer)
  2. Servicio de agente de implementación web (MsDepSvc)
  3. BranchCache (PeerDistSvc)
  4. Servicio de sincronización de recursos compartidos (SyncShareSvc)
  5. Servicio de publicación World Wide Web (W3SVC)
  6. Servidor de información de Internet (WAS, IISADMIN)

Skype también utiliza el puerto 80 como configuración predeterminada y puede desmarcarlo.

Puede que tenga o no algunos de estos Servicios instalados y en ejecución.

En mi caso, "SQL Server Reporting Services" estaba abriendo el puerto 80.

usuario3600935
fuente
0

Para mí, este problema comenzó cuando alojé una conexión VPN en mi computadora con Windows 8.

Simplemente eliminar la conexión de "Panel de control \ Red e Internet \ Conexiones de red" resolvió el problema.

Zar
fuente
0

Intenté instalar nginxdesde aquí: http://nginx.org/en/docs/windows.html

Ir a http: // localhost / mostrará algo, al menos un mensaje "no encontrado" adecuado
Esto se debe a que 80 es el puerto predeterminado, y fue tomado por otros procesos.

Ahora ejecuta debajo del comando:

net stop http

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

Ahora, ir a http: // localhost / fallará con un mensaje de página de enlace roto.

El proceso principal fue BranchCache
Este proceso, después de detenerse, se reiniciará en unos segundos.
Entonces necesitamos ejecutar otros comandos que necesitamos pronto, un ejemplo a continuación:

// this will stop
net stop http

// immeidately run other command you want to
start nginx

Ahora, yendo a http: // localhost / me dio:

Welcome to nginx!

Espero que ayude.

Manohar Reddy Poreddy
fuente
-1

en mi caso, la ventana es para detener el servicio del Agente de implementación web. Escriba cmd

 net stop msdepsvc 
gogog
fuente