Esta pregunta debería haber sido respondida aquí , pero tuve que preguntar nuevamente porque la resolución no era concluyente.
Estoy tratando de configurar mi Tomcat server.xml
para que funcione en el puerto TCP 8080. Pero siempre falla porque se está utilizando el puerto 8080. Traté de correr netstat -ano
para averiguar qué estaba usando el puerto 8080 y parecía ser Firefox en ese momento (sí, también me confunde). Cuando hice esto http://localhost
, obtuve un 404 mientras que hacer http://localhost:8080/
la dirección funcionaba bien. El problema se hace evidente cuando hago clic en cerrar sesión en mi aplicación web de muestra y busca la localhost/?logout
página. Puedo forzar el enlace para encontrar localhost:8080/?logout
, pero esto es un bodge, no una solución adecuada.
¿Alguien sabe una solución a este problema?
fuente
http://localhost
enviaría el navegador al puerto localhost 80, no al 8080. Usted dice que obtiene un 404 de esa URL. Entonces, aparentemente algo está escuchando en el puerto 80. ¿Quizás se supone que algún otro servidor web esté actuando como una interfaz para Tomcat aquí?localhost
no resuelve nada, perolocalhost:8080
sí ..... y esta es una aplicación mantenida por SCM, por lo que otros desarrolladores han verificado la versión correcta y funcional de la aplicación con la configuración correcta de server.xml ... mi navegador la configuración es idéntica a la de todos los demás ...http://localhost
, recibí un 404". Eso significaría que algún tipo de servidor HTTP está escuchando en el puerto 80 y respondiendo a las solicitudes. Ahora dices "localhost no resuelve nada". Esto parece ser contradictorio. ¿Espera que su aplicación funcione a través de la URL sin un número de puerto o con la versión 8080 de la URL?localhost
primero ... me dio un 404. Luego probé con 8080 y me dio la página de inicio de sesión inicial. Perdón por la declaración contradictoria.Respuestas:
Ejecute el Monitor de recursos (si está en Windows. Ya que no ha especificado su sistema operativo) presionando la tecla de Windows y luego escribiendo
resmon
.Luego, en la
Network
pestaña puede verListening ports
y luego verificar qué programa está utilizando el puerto 80. Luego, cuide de eso.Si está en Linux, escriba esto en la línea de comando:
fuente
System NT & Kernel
como el proceso que está utilizando el puerto 80 ..... Estoy en Windows 8.1Después de un poco de investigación, entendí qué estaba causando el problema.
Cuando comencé Tomcat, el servicio estaba tratando de vincular el puerto 8080 a sus conectores (usando
service.xml
configuraciones de archivo). Pero los servicios de informes del servidor SQL son la aplicación con la que no estaba familiarizado. Aparentemente, los servicios de informes MSSQLSERVER usan el puerto 8080 de forma predeterminada y, si ya está instalado como un servicio, lo harán a menos que lo desactive.Una vez que desactivé el servicio, mi aplicación web funcionó perfectamente. Esta es también una razón por la cual vincularlo al 8055 funcionaba temporalmente (pero de todos modos no era una solución lógica).
Gracias a @TechLife por sus respuestas :)
fuente