Aquele funciona. Pessoal do Linux, pelo menos funciona para mim com o Ubuntu 14.04.2 LTS.
Rodrigo Gurgel
3
A ligação automática é a resposta correta. Mas observe que você pode pular a vinculação automática caso esteja usando 'sudo startup.sh', pois a porta 80 será concedida ao usuário escalado.
Marcio Jasinski
1
Obrigado!! Eu sabia sobre a ativação do authbind na configuração do servidor, mas não sabia que precisava criar um arquivo no authbind para a porta registrada! Eu gostaria que o OP tivesse alterado a solução aceita para esta resposta! (Eu vejo que você estava quase 3 anos de atraso em responder: P)
Fr0zenFyr
1
Funciona com o Tomcat 9 no Lubuntu 18.0.4, sem instalação authbind, apenas adicionando a configuração.
Marco Sulla
107
Em um Linux baseado no Debian (incluindo o Ubuntu), você também precisa /etc/default/tomcat7descomentar a #AUTHBIND=nolinha e definir seu valor como 'yes', para permitir que o servidor se ligue a uma porta privilegiada.
Não funciona para o Tomcat (se instalado por zip / tar.gz) na 13.10.
Gorkamorka
4
Para que ele funcione a partir do zip / tar.gz, execute as etapas 1 e 2 acima, adicione AUTHBIND = yes ao bin / setenv.sh (crie, se não houver) e inicie a partir do raiz. Funciona com o LTS 12.04, também deve funcionar com 13.10.
karl
No meu caso, falhou (com nenhuma mensagem de erro no catalina.out) sem o pacote authbind, trabalhou após instalá-lo
Golimar
Você poderia apontar para a documentação sobre AUTHBIND = yes? Não encontro em lugar nenhum.
ARX20:
Também não consigo encontrar uma menção à configuração AUTHBIND como parte da configuração do elemento do servidor na documentação do TOMCAT. Estranho.
Peter N. Steinmetz
22
Tentei mudar a porta de 8080para 80no server.xmlmas não funcionou para mim. Então eu achei alternativa, atualize o iptablesque eu tenho certeza que há um impacto no desempenho.
Executar o comando seguinte para remover o encaminhamento: iptables -t nat -D PREROUTING -p tcp dport 80 -j REDIRECIONAR --to-porta 8080
Casol
17
Como as respostas anteriores não funcionaram bem (foi bom, mas não o suficiente) para mim no Ubuntu 14.04 Server, mencionei essas recomendações (esta é uma citação).
Edit: note que, como @ jason-faust mencionou nos comentários, em 14.04, o authbindpacote que o acompanha agora suporta IPv6 agora, portanto, a coisa preferida do IPv4 não é mais necessária .
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 "$@"
Se você já possui um setenv.sharquivo , precisa usar:/usr/share/tomcat7/binCATALINA_OPTS
Gostaria de acrescentar que o arquivo startup.sh está localizada em: /usr/share/tomcat7/bin/startup.sh - Não é completamente óbvio para nós novatos;)
CONMAN
Caminhos atualizados do @ConMan, é uma ótima idéia para salvar outras pesquisas. Admito que conhecer esse lugar não é óbvio no começo.
smonff
1
Obrigado, isso funcionou muito bem, estou acostumado a centos, então isso foi útil para mim, onde isso não foi um problema para mim.
precisa saber é
1
Acabei de segui-lo hoje na 14.04, o pacote authbind que é fornecido com ele agora oferece suporte ao IPv6, então a coisa preferida do IPv4 não é mais necessária.
Jason Faust
Eu também fiz: chmod 755 /usr/share/tomcat7/bin/setenv.sh
Casey Harrils
5
No linux moderno, a melhor abordagem (para mim) é usar o xinetd:
1) crie /etc/xinet.d/tomcat-http
service http
{
disable = no
socket_type = stream
user = root
wait = no
redirect = 127.0.0.1 8080
}
2) crie /etc/xinet.d/tomcat-https
service https
{
disable = no
socket_type = stream
user = root
wait = no
redirect = 127.0.0.1 8443
}
Outra abordagem é a compilação e uso jsvc mas xinetd é definitivamente mais fácil
cgdave
5
Se alguém estiver procurando, como alterar o número da porta do tomcat no usuário do Eclipse IDE, a seguir estão as etapas.
1. Na exibição Servidores, clique duas vezes no nome do servidor:
2. Isso abrirá uma página de configuração para o Tomcat da seguinte maneira:
3. Observe que os números das portas são mostrados na tabela à direita. Clique para editar, por exemplo:
4. Isso alterará o número da porta do HTTP de 8080 para 80. Pressione Ctrl + S para salvar a alteração e reiniciar o servidor. Podemos identificar a alteração do número da porta na visualização Console:
se você estiver usando o eclipse e a modificação do server.xml não funcionar, tente o artigo a seguir . Eles terão etapas para modificar a porta se você estiver usando o IDE como o eclipse.
Respostas:
1) Vá para a
conf
pasta no diretório de instalação do tomcat2) Edite a seguinte tag no
server.xml
arquivo3) Altere o
port=8080
valor paraport=80
4) Salve o arquivo.
5) Pare o seu Tomcat e reinicie-o.
fonte
etc/default/tomcat7
conjuntoAUTHBIND=yes
, para evitar um erro de PermissionDenied para a porta 80. #Ubuntu 14.04 LTS, no Amazon EC2. Os seguintes passos resolveram este problema para mim:
1. Edite server.xml e altere port = "8080" para "80"
2. Edite o arquivo tomcat7 (se o arquivo não for criado, você precisará criá-lo)
descomente e altere # AUTHBIND = não para sim
3. Instale o authbind
4. Execute os seguintes comandos para fornecer tomcat7 read + execute na porta 80.
5. Reinicie o tomcat:
fonte
authbind
, apenas adicionando a configuração.Em um Linux baseado no Debian (incluindo o Ubuntu), você também precisa
/etc/default/tomcat7
descomentar a#AUTHBIND=no
linha e definir seu valor como 'yes', para permitir que o servidor se ligue a uma porta privilegiada.fonte
Nos sistemas Ubuntu e Debian, são necessárias várias etapas:
No server.xml, altere a linha
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
para terport="80"
.Instale o pacote authbind recomendado (não obrigatório), com um comando como:
sudo apt-get install authbind
Ative authbind no arquivo server.xml (em um
/etc/tomcat6
ou em/etc/tomcat7
) descomentando e configurando a linha como:AUTHBIND=yes
Todas as três etapas são necessárias.
fonte
Tentei mudar a porta de
8080
para80
noserver.xml
mas não funcionou para mim. Então eu achei alternativa, atualize oiptables
que eu tenho certeza que há um impacto no desempenho.Eu uso os seguintes comandos:
http://www.excelsior-usa.com/articles/tomcat-amazon-ec2-advanced.html#port80
fonte
Como as respostas anteriores não funcionaram bem (foi bom, mas não o suficiente) para mim no Ubuntu 14.04 Server, mencionei essas recomendações (esta é uma citação).
Edit: note que, como @ jason-faust mencionou nos comentários, em 14.04, o
authbind
pacote que o acompanha agora suporta IPv6 agora, portanto, a coisa preferida do IPv4 não é mais necessária .Se você já possui um
setenv.sh
arquivo , precisa usar:/usr/share/tomcat7/bin
CATALINA_OPTS
Agora você pode alterar a porta para
80
conforme indicado em outras respostas.fonte
No linux moderno, a melhor abordagem (para mim) é usar o xinetd:
1) crie /etc/xinet.d/tomcat-http
2) crie /etc/xinet.d/tomcat-https
3) chkconfig xinetd em
4) /etc/init.d/xinetd start
fonte
Se alguém estiver procurando, como alterar o número da porta do tomcat no usuário do Eclipse IDE, a seguir estão as etapas.
1. Na exibição Servidores, clique duas vezes no nome do servidor:
2. Isso abrirá uma página de configuração para o Tomcat da seguinte maneira:
3. Observe que os números das portas são mostrados na tabela à direita. Clique para editar, por exemplo:
4. Isso alterará o número da porta do HTTP de 8080 para 80. Pressione Ctrl + S para salvar a alteração e reiniciar o servidor. Podemos identificar a alteração do número da porta na visualização Console:
Todo este conteúdo foi retirado do link abaixo. Consulte esse link para obter mais informações, obrigado. http://www.codejava.net/servers/tomcat/how-to-change-port-numbers-for-tomcat-in-eclipse
fonte
A execução do comando abaixo funcionou. Tentei mudar
server.xml
e o arquivo conf, mas ambos não funcionaram.fonte
Em um servidor Linux, você pode apenas usar estes comandos para reconfigurar o Tomcat para escutar na porta 80:
fonte
se você estiver usando o eclipse e a modificação do server.xml não funcionar, tente o artigo a seguir . Eles terão etapas para modificar a porta se você estiver usando o IDE como o eclipse.
fonte
Apenas vá para a pasta conf do tomcat
abra o arquivo server.xml
Vá para um dos nós do conector que se parece com o seguinte
Simplesmente mude a porta
salve e reinicie o tomcat
fonte
Aqui estão os passos:
-> Siga o caminho: {diretório tomcat> / conf -> Encontre esta linha:
altere o número da porta de "8080" para "80".
-> Salve o arquivo.
-> Reinicie o servidor :)
fonte
Não esqueça de editar o arquivo. Abrir arquivo
/etc/default/tomcat7
e alterarpara
depois reinicie.
fonte