java - servicio - Error de implementación: el inicio de Tomcat falló, el puerto del servidor 8080 ya está en uso
reiniciar servidor tomcat linux (15)
Cuando ejecuto mi proyecto Java usando netbeans, obtengo el siguiente error:
Deployment error:
Starting of Tomcat failed, the server port 8080 is already in use.
See the server log for details.
at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:166)
at org.netbeans.modules.j2ee.ant.Deploy.execute(Deploy.java:104)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor619.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:277)
at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:460)
at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:151)
Caused by: org.netbeans.modules.j2ee.deployment.impl.ServerException: Starting of Tomcat failed, the server port 8080 is already in use.
at org.netbeans.modules.j2ee.deployment.impl.ServerInstance._start(ServerInstance.java:1297)
at org.netbeans.modules.j2ee.deployment.impl.ServerInstance.startTarget(ServerInstance.java:1251)
at org.netbeans.modules.j2ee.deployment.impl.ServerInstance.startTarget(ServerInstance.java:1062)
at org.netbeans.modules.j2ee.deployment.impl.ServerInstance.start(ServerInstance.java:939)
at org.netbeans.modules.j2ee.deployment.impl.TargetServer.startTargets(TargetServer.java:428)
at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:143)
... 16 more
BUILD FAILED (total time: 4 seconds)
Traté de cambiar el puerto del servidor a 8081 y cerrar el puerto en tool-> server, funciona bien, pero de nuevo si realizo alguna operación y ejecuto el proyecto dice " Error de implementación: el inicio de Tomcat falló, el puerto del servidor 8081 ya está en uso "¿Cuál sería el problema? ¿Alguien puede ayudarme?
Pasos:
- 1) abre tus Netbeans.
- 2) Ir a herramientas.
- 3) Ir a servidores.
- 4) Ahora cambie su número de puerto. y cerrar el puerto no. lo más probable es que debas aumentar ambos por
1
. por ejemplo,8084
a8085
y el puerto de cierre no8025
a8026
- 5) Reinicia Netbeans e intenta ejecutar tu proyecto. Problema resuelto
Al cambiar la configuración de proxy a "no proxy" en netbeans, se resolvió el problema de Tomcat. Prueba esto, está funcionando realmente.
Cambie su dirección de puerto Tomcat
a 8084
y Shut Down Port
de 8025
a 8025
. Esto resolverá tu problema.
En otros casos, los programas antivirus pueden causar problemas. Tuve este problema con la seguridad total del K7. En mi caso, K7 Firewall estaba bloqueando el puerto 8084. La solución simple es agregar una excepción a Netbeans en la lista K7 Firewall.
Para hacerlo, abra K7 y vaya a Configuración -> Configuración del servidor de seguridad -> seleccione la pestaña Aplicaciones y busque Netbeans.
Seleccione Netbeans y haga clic en el enlace editar . En la pantalla siguiente, seleccione el botón de opción Omitir acceso total a la red .
Ahora vaya a Netbeans e inicie el servidor.
Cambie su puerto predeterminado en [tomcat_home_dir] /conf/server.xml find
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
cambiarlo a
<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Eche un vistazo a sus procesos en ejecución, parece que su instancia actual de Tomcat no se detuvo. Todavía se está ejecutando y NetBeans intenta iniciar una segunda instancia de Tomcat. Esa es la razón de su excepción, solo tiene que detener la primera instancia o implementar su código en el actual en ejecución.
Elimina la instancia anterior de tomcat o el proceso que se está ejecutando en 8080.
Ve a la terminal y haz esto:
lsof -i :8080
El resultado será algo así como:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 76746 YourName 57u IPv6 0xd2a83c9c1e75 0t0 TCP *:http-alt (LISTEN)
Mata este proceso usando su PID:
kill 76746
En mi caso, accidentalmente agregué dos instancias de servidor y obtuve este error. Solo eche un vistazo a la pestaña Services
en Servers
y elimine una de las instancias ... y reinicie el servidor ... :)
Ir al símbolo del sistema
netstat -aon
para Linux
netstat -tulpn | grep ''your_port_number''
te mostrará algo así como
TCP 192.1.200.48:2053 24.43.246.60:443 ESTABLISHED 248
TCP 192.1.200.48:2055 24.43.246.60:443 ESTABLISHED 248
TCP 192.1.200.48:2126 213.146.189.201:12350 ESTABLISHED 1308
TCP 192.1.200.48:3918 192.1.200.2:8073 ESTABLISHED 1504
TCP 192.1.200.48:3975 192.1.200.11:49892 TIME_WAIT 0
TCP 192.1.200.48:3976 192.1.200.11:49892 TIME_WAIT 0
TCP 192.1.200.48:4039 209.85.153.100:80 ESTABLISHED 248
TCP 192.1.200.48:8080 209.85.153.100:80 ESTABLISHED 248
compruebe qué proceso ha vinculado su puerto. aquí en el ejemplo anterior es 248
ahora si estás seguro de que tienes que matar ese proceso de fuego
Linux:
kill -9 248
Windows:
taskkill /f /pid 248
matará ese proceso
Lo he arreglado, en Windows 8.1 x64.
- goto -
%userprofile%/AppData/Roaming/NetBeans/8.1/apache-tomcat-8.0.27.0_base/work/Catalina/localhost
- Eliminar todas las carpetas sin carpetas (administrador y ROOT)
- goto -
%userprofile%/AppData/Roaming/NetBeans/8.1/apache-tomcat-8.0.27.0_base/conf/Catalina/localhost
- eliminar todos los archivos sin (
manager.xml
yROOT.xml
) - Ir al servidor de NetBeans y Start Tomcat
Seleccione el proyecto -> haga clic con el botón derecho -> limpiar y compilar y luego ejecutar el proyecto de nuevo simplemente resuelva el problema para mí.
Como, el proceso múltiple podría unir el mismo puerto, por ejemplo, el puerto 8086. En ese caso, tengo que eliminar todos los procesos relacionados con el puerto con PID. Eso podría ser engorroso.
Si en Linux puedes matar Tomcats existentes con este script
#/bin/bash
if [ `whoami` != root ]; then
echo "Please run this script as root or using sudo"
exit
fi
echo
echo "finding proceses that have name java and established connections status"
echo
echo "Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name"
netstat --tcp --programs | grep "ESTABLISHED" | grep "java"
echo
echo "finding proceses that use port 8080 or http-alt"
echo
netstat --tcp --programs | grep '':8080/|:http-alt''
echo -n "Do you wish to kill a process listed above?[Y/n]"
read choose
if [ "$choose" = "Y" ] || [ "$choose" = "y" ] || [ -z "$choose" ]
then
echo "enter pid to kill"
read procesId
kill -9 $procesId
fi
echo "done exiting"
exit 0
Si está detrás de un servidor proxy, este problema podría ocurrir, tuve el mismo problema y fue resuelto por: Preferencias -> General -> Configuración de Proxy -> Sin Proxy.
"Tal vez el mensaje listo para Tomcat fue enviado al proxy, y nunca llegó al IDE".
found @: https://netbeans.org/bugzilla/show_bug.cgi?id=231220
Tengo el mismo problema e intento cambiar el número de puerto, no hay opción de proxy y limpiar y compilar, pero nada funciona. Finalmente, solo reinicio mi computadora portátil y mi problema está resuelto.
Tuve el mismo problema al intentar implementar, Tomcat no pudo reiniciarse cuando se estaba ejecutando la instancia de Tomcat. Cierra el IDE y comprueba el Administrador de TASK: elimina cualquier proceso javaw en ejecución, eso me solucionó el problema.
Tuve un problema similar, excepto que era el puerto 80 el que ya estaba en uso. Resultó ser servicios Microsofts IIS. No los uso en absoluto, así que simplemente los desinstalé a través de appwiz.cpl.