Integração Apache => Tomcat

Integrando o Apache com o TOMCAT para que as páginas estáticas sejam executadas pelo Apache e as em JSP pelo contêiner TOMCAT, além do direcionamento das aplicações via APACHE, sendo o WebServer de acesso para as aplicações que estão no TOMCAT.

[ Hits: 75.841 ]

Por: Bruno Lima Queiroz em 16/10/2007


Conceito



Integração APACHE/TOMCAT vou dividir em duas partes e abordar a primeira delas aqui. São elas a integração com apenas "simples", a qual as páginas ESTÁTICAS serão executadas pelo APACHE (ganho de performance) e as páginas dinâmicas (JSP) executadas pelo contêiner TOMCAT.

Além dessa funcionalidade, nessa primeira integração conseguimos "esconder" as portas do TOMCAT, já que sua aplicação será chamada por uma URL na porta 80 e o APACHE sim, irá pegar sua aplicação no TOMCAT e mostrar ela.

Temos também a segunda integração do APACHE/TOMCAT, que consiste nas vantagens da primeira acrescidas da possibilidade de se realizar LOADBALANCER entre dois TOMCATs usando o APACHE como o WebServer que irá gerenciar essa carga e dividirá ela, porém esse assunto não será abortado aqui.

Pré-requisitos

Iremos instalar os seguintes serviços em um servidor LINUX/UNIX:
  • OPENSSL
  • APACHE
  • TOMCAT
  • TOMCAT CONECTOR(MOD_JK)
  • JDK+JRE(JAVA)

    Próxima página

Páginas do artigo
   1. Conceito
   2. Instalando OpenSSL, Apache, Tomcat e Java
   3. Tomcat conector - MOD_JK
   4. Configuração no TOMCAT
   5. Configuração no Apache
Outros artigos deste autor

Instalação do Apache 2 no OpenSuSE 10.2

Certificação Digital no Linux - Apache2

Introdução ao Personal Firewall (PF)

Ferramentas de detecção e NMAP

Solução completa para Web Server usando Apache + SSL + MOD_JK + PHP + MySQL

Leitura recomendada

Solução para conexão Claro 3G no Linux Ubuntu 8.10

SpamAssassin no Sendmail usando o Procmail

CBQ sem medo

Bind com suporte a sdb/PostgreSQL

Servidor IM interno em 5 minutos (jabber)

  
Comentários
[1] Comentário enviado por hugoeustaquio em 16/10/2007 - 08:54h

Parabéns, muito esclarecedor. Fica somente uma dica para os próximos leitores, usem o programa 'checkinstall' ao invéz de usar o comando 'make install', para gerar pacotes para a sua distribuição, assim fica mais fácil desinstalar depois, ou reinstalar caso você precise. Também é legal usar umas dicas para otimizar a compilação para o seu processador, caso você não tenha interesse em distribuir esses pacotes para outras pessoas. Você pode aprender a usar o checkinstall aqui: http://www.vivaolinux.com.br/dicas/verDica.php?codigo=8466
e pode otimizar a sua compilação inserindo as seguintes linhas no arquivo /etc/profile :
CFLAGS="-O2 -march=AtlonXP -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
export CFLAGS CHOST CXXFLAGS MAKEOPTS

Note que você terá que substituir o 'AtlonXP' pelo identificador do seu processador, que poderá ser k6, k7, k8 (modelos da AMD) ou PentiumIII, PentiumIV, pentium-mmx para modelos da intel. Para saber informações sobre o seu processador leia o arquivo /proc/cpuinfo. Mais uma vez parabéns pelo artigo!

[2] Comentário enviado por brunolimaq em 16/10/2007 - 09:14h

Boa dica...

Mas vale lembrar que a recompilação do Apache, PHP e qualquer outro programa instalado apartir de um SOURCE é possivel sem o "checkinstall". Podemos usar o "Make Clean" antes de recompilar, bastando manter o mesmo diretório de instalação da compilação anterior, que pode ser obtida olhando a LOG do "Configure".

Um bom dia a todos...

Att.,

Bruno Lima Queiroz

[3] Comentário enviado por ls_junior em 17/10/2007 - 07:07h

Lembrando que existe o módulo mod_proxy_ajp que é bem mais simples de configurar que o mod_jk.

Segue exemplo de configuração do mod_proxy_ajp para o manager do tomcat:

<Location /manager>
ProxyPass ajp://nome_do_host_tomcat:8009/manager/
Order allow,deny
allow from all
</Location>

Sim, é apenas isso. Além de carregar o módulo(proxy_ajp.load do Debian):
# Depends: proxy
LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so

[4] Comentário enviado por andrade.ti em 17/10/2007 - 11:31h

Muito bom artigo. Eu estava pensando em escrever um sobre o mod_jk que a princípio é mais complicado do que o mod_proxy_ajp, mas é mais versátil, por não ser um simples redirecionamento mas sim uma integração verdadeira.

Valeu.
LCA.

[5] Comentário enviado por brgsousa em 18/10/2007 - 10:29h

Muito bom seu tutorial,
Tava sentindo falta de um tutorial atualizado.

Queria atentar para as descrições de criação de links que estao erradas. O certo seria (Estou no Debian):
ln -s <origem> <destino>
Exemplo: ln -s apache-tomcat-6.0.14 apache-tomcat

Espero ter ajudado
Abraços!

[6] Comentário enviado por brunolimaq em 18/10/2007 - 17:15h

varia de distro..
suse, opensuse, red,fedora,solaris..
:)
mas valews! :)

[7] Comentário enviado por removido em 04/04/2008 - 14:50h

Ola quando tento utilizar o mod_jk.so com o comando ./configure --with-apxs=/usr/local/apache2/bin/apxs ele diz que o arquivo apxs nao existe tentei com o comando --with-apache=/usr/local/apache-tomcat-5-5.1.7. e deu que não era um diretorio válido do fonte do apache . Será que tem solução??

[8] Comentário enviado por hugoeustaquio em 04/04/2008 - 14:53h

Seguinte, alexmoreira:
Digite o comando "whereis apxs" e veja se ele aponta um caminho. Em caso positivo, utilize esse caminho no lugar de "/usr/local/apache2/bin/apxs". Em caso negativo verifique a instalação do apache. Pode ser que sua distribuição tenha colocado o "apxs" em outro pacote. Se isso acontecer, você terá que descobrir qual pacote é esse, fazendo uma busca no programa que gerencia os pacotes da sua distribuição.

[9] Comentário enviado por hugoeustaquio em 04/04/2008 - 14:57h

A propósito alexmoreira, você já tinha o apache (servidor web) instalado ou você procedeu a instalação através do código fonte? Se foi a partir do código fonte, verifique se a compilação procedeu corretamente.

[10] Comentário enviado por removido em 07/04/2008 - 11:41h

sim o apache está instalado no diretorio /etc/apache2 é o apache 2.2. como faço uma busca para descobrir mesmo se o apxs está instalado na minha máquina. Agradeço desde já.

[11] Comentário enviado por removido em 07/04/2008 - 11:56h

Ola apos dar o comando locate encontrei os seguintes arquivos makefile.apxs isso é o apxs? ele tava na pasta de conectores do tomcat.

[12] Comentário enviado por hugoeustaquio em 07/04/2008 - 12:22h

Tente dar o seguinte comando:
$ find /etc/apache2 -iname apxs

[13] Comentário enviado por removido em 07/04/2008 - 12:27h

Ai !! nao sei mais nada : nao encontrou nada dessa vez !!!??

[14] Comentário enviado por hugoeustaquio em 07/04/2008 - 12:32h

Você instalou o apache utilizando as instruções desse artigo? Ou instalou somente o tomcat porque já possuía o apache instalado?

[15] Comentário enviado por removido em 07/04/2008 - 13:06h

Já tinha o apache instalado. O tomcat instalei dedpois. o servidor atual é um Debian e apache é o 2.2.

[16] Comentário enviado por hugoeustaquio em 07/04/2008 - 13:10h

Instala o pacote apache-dev, com isto o apxs ficará em /usr/bin/apxs.

[17] Comentário enviado por juniomundo em 16/05/2009 - 11:59h

Realizei a instalção do LAMP através do nautilus, gostaria de saber se tem esta possibilidade de integração.Porque quando eu dou o comando: gedit httpd.conf, consigo visualizar um arquivo em branco.

Agradeço desde já,
Júnio César Silva

[18] Comentário enviado por jrpmoraes em 03/08/2009 - 09:04h

estou com seguinte erro na hora de subir o tomcat
JkWorkersFile: Can't find the workers file specified

[19] Comentário enviado por luizvieira em 01/04/2010 - 13:31h

Muito bom!
Ajudou aqui numa integração q precisava fazer no Debian.
[ ]'s


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts