Ese funciona. Gente de Linux, al menos funciona para mí con Ubuntu 14.04.2 LTS.
Rodrigo Gurgel
3
Autobind es la respuesta correcta. Pero tenga en cuenta que puede omitir el enlace automático en caso de que esté usando 'sudo startup.sh' ya que el puerto 80 se otorgará al usuario escalado.
Marcio Jasinski
1
¡¡Gracias!! ¡Sabía cómo habilitar authbind en la configuración del servidor, pero no sabía que tenía que crear un archivo en authbind para el puerto registrado! ¡Ojalá OP hubiera cambiado la solución aceptada a esta respuesta! (Veo que tardó casi 3 años en contestar: P)
Fr0zenFyr
1
Funciona con Tomcat 9 en Lubuntu 18.0.4, sin instalar authbind, solo agrega la configuración.
Marco Sulla
107
En un Linux basado en Debian (incluido Ubuntu), también debe ir /etc/default/tomcat7, descomentar la #AUTHBIND=nolínea y establecer su valor en 'sí', para permitir que el servidor se vincule a un puerto privilegiado.
No funciona para Tomcat (si está instalado por zip / tar.gz) en 13.10.
Gorkamorka
44
Para que funcione desde zip / tar.gz, siga los pasos 1 y 2 anteriores, agregue AUTHBIND = yes a bin / setenv.sh (crear si no está allí) y comience desde la raíz. Funciona con LTS 12.04, también debería funcionar con 13.10.
karl
En mi caso falló (sin mensaje de error en catalina.out) sin el paquete authbind, funcionó después de instalarlo
golimar
¿Podría señalar la documentación sobre AUTHBIND = yes? No lo encuentro en ninguna parte.
ARX
Tampoco puedo encontrar una mención de la configuración AUTHBIND como parte de la configuración del elemento del servidor en la documentación de TOMCAT. Extraño.
Peter N. Steinmetz
22
Intenté cambiar el puerto de 8080a 80en server.xmlpero no funcionó para mí. Luego encontré una alternativa, actualice la iptablesque estoy seguro de que tiene un impacto en el rendimiento.
Ejecute el siguiente comando para eliminar el enrutamiento: iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
casol
17
Como las respuestas anteriores no funcionaron bien (fue bueno, pero no suficiente) para mí en un servidor Ubuntu 14.04, menciono estas recomendaciones (esta es una cita).
Editar: tenga en cuenta que, como @ jason-faust lo mencionó en los comentarios, el 14.04, el authbindpaquete que se incluye con él ahora es compatible con IPv6, por lo que ya no es necesario lo que prefiere IPv4 .
1) Install authbind
2) Make port 80 available to authbind (you need to be root):
touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat7 /etc/authbind/byport/80
3) Make IPv4 the default (authbind does not currently support IPv6).
To do so, create the file TOMCAT/bin/setenv.sh with the following content:
CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"
4) Change /usr/share/tomcat7/bin/startup.sh
exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
# OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"
Si ya tienes un setenv.sharchivo en /usr/share/tomcat7/bincon CATALINA_OPTS, usted tiene que utilizar:
Otro enfoque es compilar y usar jsvc, pero xinetd es definitivamente más fácil
cgdave
5
Si alguien está buscando, cómo cambiar el número de puerto de tomcat en el usuario Eclipse IDE a continuación se detallan los pasos.
1.En la vista Servidores, haga doble clic en el nombre del servidor:
2.Eso abrirá una página de configuración para Tomcat de la siguiente manera:
3. Observe que los números de puerto se muestran en la tabla de la derecha. Haga clic para editar, por ejemplo:
4. Eso cambiará el número de puerto para HTTP de 8080 a 80. Presione Ctrl + S para guardar el cambio y reiniciar el servidor. Podemos detectar el cambio del número de puerto en la vista Consola:
si está utilizando eclipse y modificar server.xml no funciona para usted, intente con el siguiente artículo ... tienen pasos para modificar el puerto si está utilizando IDE como eclipse.
Respuestas:
1) Ir a la
conf
carpeta en el directorio de instalación de tomcat2) Editar la siguiente etiqueta en el
server.xml
archivo3) Cambie el
port=8080
valor aport=80
4) Guardar archivo.
5) Detenga su Tomcat y reinícielo.
fuente
etc/default/tomcat7
conjuntoAUTHBIND=yes
, para evitar un error PermissionDenied para el puerto 80.Ubuntu 14.04 LTS, en Amazon EC2. Los siguientes pasos resolvieron este problema por mí:
1. Edite server.xml y cambie port = "8080" a "80"
2. Edite el archivo tomcat7 (si el archivo no se creó, entonces debe crearlo)
descomentar y cambiar # AUTHBIND = no a yes
3. Instalar authbind
4. Ejecute los siguientes comandos para proporcionar lectura y ejecución de tomcat7 en el puerto 80.
5. Reinicie tomcat:
fuente
authbind
, solo agrega la configuración.En un Linux basado en Debian (incluido Ubuntu), también debe ir
/etc/default/tomcat7
, descomentar la#AUTHBIND=no
línea y establecer su valor en 'sí', para permitir que el servidor se vincule a un puerto privilegiado.fuente
En los sistemas Ubuntu y Debian, se necesitan varios pasos:
En server.xml, cambie la línea
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
para tenerport="80"
.Instale el paquete de authbind recomendado (no requerido), con un comando como:
sudo apt-get install authbind
Habilite authbind en el archivo server.xml (en cualquiera
/etc/tomcat6
o/etc/tomcat7
) descomentando y configurando la línea como:AUTHBIND=yes
Los tres pasos son necesarios.
fuente
Intenté cambiar el puerto de
8080
a80
enserver.xml
pero no funcionó para mí. Luego encontré una alternativa, actualice laiptables
que estoy seguro de que tiene un impacto en el rendimiento.Yo uso los siguientes comandos:
http://www.excelsior-usa.com/articles/tomcat-amazon-ec2-advanced.html#port80
fuente
Como las respuestas anteriores no funcionaron bien (fue bueno, pero no suficiente) para mí en un servidor Ubuntu 14.04, menciono estas recomendaciones (esta es una cita).
Editar: tenga en cuenta que, como @ jason-faust lo mencionó en los comentarios, el 14.04, el
authbind
paquete que se incluye con él ahora es compatible con IPv6, por lo que ya no es necesario lo que prefiere IPv4 .Si ya tienes un
setenv.sh
archivo en/usr/share/tomcat7/bin
conCATALINA_OPTS
, usted tiene que utilizar:Ahora puede cambiar el puerto a
80
como se indica en otras respuestas.fuente
En Linux moderno, el mejor enfoque (para mí) es usar xinetd:
1) crear /etc/xinet.d/tomcat-http
2) crea /etc/xinet.d/tomcat-https
3) chkconfig xinetd en
4) /etc/init.d/xinetd start
fuente
Si alguien está buscando, cómo cambiar el número de puerto de tomcat en el usuario Eclipse IDE a continuación se detallan los pasos.
1.En la vista Servidores, haga doble clic en el nombre del servidor:
2.Eso abrirá una página de configuración para Tomcat de la siguiente manera:
3. Observe que los números de puerto se muestran en la tabla de la derecha. Haga clic para editar, por ejemplo:
4. Eso cambiará el número de puerto para HTTP de 8080 a 80. Presione Ctrl + S para guardar el cambio y reiniciar el servidor. Podemos detectar el cambio del número de puerto en la vista Consola:
Todo este contenido se tomó del enlace a continuación, consulte ese enlace para obtener más información, gracias. http://www.codejava.net/servers/tomcat/how-to-change-port-numbers-for-tomcat-in-eclipse
fuente
Ejecutar el siguiente comando funcionó con. Intenté cambiar
server.xml
y el archivo conf pero ambos no funcionaron.fuente
En un servidor Linux, puede usar estos comandos para reconfigurar Tomcat para escuchar en el puerto 80:
fuente
si está utilizando eclipse y modificar server.xml no funciona para usted, intente con el siguiente artículo ... tienen pasos para modificar el puerto si está utilizando IDE como eclipse.
fuente
Simplemente vaya a la carpeta conf de tomcat
abra el archivo server.xml
Ir a uno de los nodos del conector que se parece a lo siguiente
Simplemente cambie el puerto
guardar y reiniciar tomcat
fuente
Aquí están los pasos:
-> Siga la ruta: {directorio tomcat> / conf -> Encuentre esta línea:
cambie el número de puerto de "8080" a "80".
-> Guardar el archivo.
-> Reiniciar el servidor :)
fuente
No olvides editar el archivo. Abrir archivo
/etc/default/tomcat7
y cambiara
luego reiniciar.
fuente