Eu instalei recentemente o tomcat por meio de um script de instalação da comunidade apache solr typo3 e passei os últimos 3 dias tentando descobrir por que ele não funcionaria até que por acaso notei que quando consultei o processo ouvindo na porta via "lsof -i ", foi vinculado ao protocolo ipv6. Pesquisei em todos os lugares e a maioria diz que definir o endereço para 0.0.0.0 no conector do tomcat resolve esse problema; outros dizem que a configuração JAVA_OPTS = "- Djava.net.preferIPv4Stack = true" ; Eu tentei o primeiro que não funciona, mas o último não tenho certeza de onde colocá-lo. Uma solução que li em algum lugar sugeriu colocá-lo em setenv.shmas não consigo encontrar esse arquivo na minha instalação do tomcat. Gostaria de receber qualquer ajuda no momento em relação a isso. A versão do tomcat é 6.xe o sistema operacional é o ubuntu 11.10. obrigado
32
Respostas:
Muitos sugeriram a atualização do
catalina.sh
script de inicialização. Sim, essa solução funcionaria, mas ocatalina.sh
script não deve ser personalizado / atualizado. Todas as alterações devem ir para o script de personalização, ou sejasetenv.sh
.NOTA:
TOMCAT_HOME/bin/setenv.sh
não existe por padrão, você precisa criá-lo. Verifique ocatalina.sh
script e você verá que o script de inicialização verifica sesetenv.sh
existe e é executado, se existir.Então, sugiro que você crie um novo
TOMCAT_HOME/bin/setenv.sh
script com uma única linha:fonte
Ok, finalmente resolvi. Fui orientado a tentar isso e a solução de Henk. Nenhum dos dois parecia funcionar com o servidor virtual remoto. Estou adivinhando o fato de que, como estou em um espaço compartilhado no kernel, o provedor evita isso. De qualquer forma, adicionei:
JAVA_OPTS= $JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses
ao script de inicialização catalina.sh e isso parecia ter corrigido o problema de vincular o tomcat ao ipv6.fonte
A sintaxe correta para modificar catalina.sh seria:
fonte
Se você usou este instalador: " Apache Solr for TYPO3 ", poderá alterar o endereço no arquivo
server.xml
. O padrão aponta para localhost, então procure por 127.0.0.1 e altere-o para o endereço IPv4 desejado. Não se esqueça de reiniciar o Tomcat6 para que as alterações entrem em vigor.UPDATE, 20120521
Veja meu comentário abaixo sobre como desativar o IPv6 no Ubuntu 11.10.
Testei isso com êxito em uma VM Virtualbox no meu Mac. O endereço da porta do conector 8080 foi alterado de 127.0.0.1 para 0.0.0.0 in
server.xml
.A desativação do IPv6 faz com que o "tcp6" desapareça, por isso é vinculado a um endereço somente IPv4.
Antes / com o IPv6 ativado:
Após / IPv6 desativado:
fonte
Embora provavelmente não seja o método preferido, observei que desabilitar o IPv6 no nível do kernel convencerá o Tomcat a abrir uma ligação IPv4.
fonte
Juntamente com a outra resposta usando setenv.sh e CATALINA_OPTS ...
Usando o Tomcat SSL com APR, a única maneira de conseguir que o Tomcat se ligasse ao ipv4 era adicioná-lo à configuração do conector:
server.xml fica assim:
fonte
O Debian 8 navegue para usar seu editor favorito em / etc / default / grub ; procure a seção GRUB_CMDLINE_LINUX_DEFAULT = "quiet" ** e adicione ipv6.disable = 1 , como visto abaixo
GRUB_CMDLINE_LINUX_DEFAULT = "ipv6.disable = 1 silencioso"
Salvar e sair. No mesmo diretório, use seu editor favorito em / etc / default / tomcat8 e procure a seção JAVA_OPTS = que será comentada, adicione o seguinte abaixo dessa linha. JAVA_OPTS = "$ JAVA_OPTS -Djava.net.preferIPv4Stack = true -Djava.net.preferIPv4Addresses = true"
Salvar e sair
No prompt de comando, digite update-grub , se você tiver sudo use com sudo, reinicie o serviço tomcat8 tomcat8 restart
Você deve estar no IPv4 agora.
Em postagens futuras, inclua caminhos completos e nomes de arquivos. Obrigado
fonte