PermGem erro

Tive ums problemas esses dias no tomcat, essa tal de permGem, que parece ser um espaço reservado para o tomcat tratar as classes que ficam “forever” instanciadas.
Fiz uma pequena pesquisa na internet, como a falta de tempo vem sendo um problema cada vez mais sério na minha vida hehehe, desculpem por abordar o assunto tão pela Epiderme. A solução e mais sobre o problema tá no meu wiki. Qualquer sugestão ou duvida, deixe nos comentários.

Erro Perm Gem

Continue reading

Tomcat VirtualHost

Nesse tutorial, vamos fazer o apache responder virtualhost como se fosse o apache rodando a porta 80. Pula a abobrinha e vai pros código.

Convenção:

ip = 192.168.43.188 (imaginário)
aplicacao = nome de uma aplicação no tomcat
www.dominio.com.br = Dominio que queremos que ele atenda
Versão do tomcat: 7.0
versao do java: 1.6.0_25
SO: Debian Squeeze
CATALINA_HOME=pasta do tomcat gÊnio gÊno
DNS/hosts = já configurado trocando o ip pelo domínio (hosts no Gnu/Linux /etc/hosts no windows tem lá no /windows/blablablaablabla se vira MUW)

Pra configurar essa badega, primeiro entenda a estrutura do webapss.
Todo tomcat tem configurado o webapps no localhost, ou seja quando acessamos o 192.168.43.188:8080 aparece aquela parte administrativa. Normalmente quando a gente tem uma aplicação, a gente extrai ela dentro do webapps, e acessamos com a url 192.168.43.188:8080/aplicacao, funciona bem, normalmente colocamos o apache para responder o dominio e fazemos um redir ou usamos iptables fica a cargo de cada um.
Mas e se no servidor, só tivermos o tomcat? fica legal ter mais de um serviço? vale a pena se preocupar com regra de iptables? na minha opinião… não :).

Então chega de papo e mãos a obra.
Primeira coisa, configurar o tomcat para usar a porta 80, parece que em Ubuntu/RedHat e outros, ha uns problemas com isso como não uso essas distros, desconheço, se alguem tiver esse problema e ja souber a solução, manda a informação pra nóis ai mano (serverjeiro@serverjeiro.com.br ou deixe comentário no blog

Pulando abobrinha

vim $CATALINA_HOME/conf/server.xml

 

Altere o conteudo

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

 

Para

<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

 

Restarte o tomcat e pronto, ele vai estar na porta 80 (Caso você seja um gÊnio gÊno da informática e tentar levantar o tomcat na porta 80 com o apache rodando…. me faça um favor, vá administrar servidores windows, seu MUW desgraçado ¬¬, obrigado :)
Agora o pulo do gato, configurar o VirtualHost direto no tomcat.
Adicione a seguinte linha no seu serer xml, dentro da configuração da ENGINE (pode por em cima do localhost caso tenha duvida)

<Host appBase="aplicacao" name="www.dominio.com.br"/>

print do server xml

Lembra que o webapps é a raiz?? deu uma analisada no localhost? “<Host name=”localhost” appBase=”webapps” unpackWARs=”true” autoDeploy=”true”> “.
Não né, mas então, agora crie dentro de sua $CATALINA_HOME a pasta da sua aplicação e a pasta ROOT. Demorei pra descobrir que é na pasta root que fica sua aplicação (no meu caso site)

mkdir -p $CATALINA_HOME/aplicacao/ROOT

 

O root é onde vai a aplicação por exemplo, não conheço a fundo a estrutura do TOMCAT suficiente para dar uma explicação descente, e também to com preguiça de pesquisar, isso é um wiki e toda ajuda é bem vinda caso alguém saiba, ja sabe email pra serverjeiro@serverjeiro.com.br ou deixe um comentário

E pronto, a coisa esta feita e apenas com tomcat.
Dica extra pra otimizar:
adicione essas linhas na engine do Conector
de

<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

 

para

<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/plain,application/javascript,application/json" />

 

Nota isso também esta publicado no Wiki, só que sem imagem, se desejar : Link para wiki.Serverjeiro

MUW = Maldito Usuário de Windows

referencia:

http://tomcat.apache.org/tomcat-7.0-doc/virtual-hosting-howto.html