Integre o Apache2 ao Tomcat 7 usando o conector mod_jk
Apache é o servidor web mais popular disponível. Um servidor web é usado basicamente para aceitar solicitações de clientes e enviar respostas a essas solicitações. Ele obtém um URL, traduz-o para um nome de arquivo (para solicitações estáticas) e envia esse arquivo de volta pela Internet a partir do disco local, ou traduz-o para um nome de programa, executa-o e, em seguida, envia a saída desse programa de volta pela internet para o solicitante. Se o servidor web não conseguir processar e concluir a solicitação, ele retornará uma mensagem de erro.
Neste artigo listaremos os recursos do Apache e como podemos integrá-lo ao Tomcat8 e Tomcat7 usando o conector mod_jk.
Recursos do Apache
Como dissemos, o Apache é o servidor web mais popular disponível. As razões por trás de sua popularidade são os seguintes recursos:
- É uma ferramenta gratuita que você pode baixar e instalar facilmente.
- É um servidor web de código aberto para que você possa ver facilmente o código, ajustá-lo, otimizá-lo e corrigir erros e falhas de segurança. Novos recursos e módulos também podem ser adicionados.
- Ele pode ser usado para pequenos sites de uma ou duas páginas, ou grandes sites com centenas e milhares de páginas, atendendo milhões de visitantes regulares todos os meses. Ele pode servir conteúdo estático e dinâmico.
- Módulos de cache aprimorados (mod_cache, mod_disk_cache, mod_mem_cache).
- Apache 2 suporta o protocolo de Internet IPv6.
Diretório Tomcat
$ {tomcat_home} é o diretório raiz do tomcat. A instalação do Tomcat deve ter os seguintes subdiretórios:
- $ {tomcat_home}\conf – Onde você pode colocar vários arquivos de configuração
- $ {tomcat_home}\webapps – Contendo exemplos de aplicativos
- $ {tomcat_home}\bin – Onde você coloca plug-ins de servidor web
Módulo Mod_jk
O mod_jk pode ser obtido em dois formatos: binário e fonte. Dependendo da plataforma em que você está executando seu servidor web, uma versão binária do mod_jk pode estar disponível. Recomenda-se usar a versão binária, se estiver disponível.
O módulo mod_jk foi desenvolvido e testado em:
- Linux, FreeBSD, AIX, HP-UX, MacOS X, Solaris e devem funcionar nas principais plataformas Unix que suportam Apache 1.3 e/ou 2.x
- 0-i386 SP4/SP5/SP6a (deve ser capaz de funcionar com outros service packs), Win2K e WinXP e Win98
- Cygwin (até que você tenha um servidor Apache e ferramentas de suporte autoconf/automake)
- Rede
- i5/OS V5R4 (Sistema I) com Apache HTTP Server 2.0.58. Certifique-se de ter o Apache PTF mais recente instalado.
- Tomcat 3.2 para Tomcat 8.
O mod_jk requer duas entidades:
- mod_jk.xxx – O módulo do Apache HTTP Server, dependendo do seu sistema operacional, será mod_jk.so, mod_jk.nlm ou MOD_JK.SRVPGM.
- workers.properties – um arquivo que descreve o host e as portas usadas pelos trabalhadores (processos do Tomcat). Um exemplo de workers.properties pode ser encontrado no diretório conf no download de origem.
Assim como acontece com outros módulos do Servidor HTTP Apache, o mod_jk deve ser instalado primeiro no diretório de módulos do seu servidor web Apache: /usr/lib/apache e você deve atualizar seu arquivo httpd.conf .
Instalação
É necessário ter um sistema de usuário não root com privilégios “sudo” antes de iniciar a instalação. Agora iniciaremos nossa instalação, então instalaremos o Apache2 e o Tomcat usando o seguinte comando:
sudo apt-get install apache2
sudo apt-get install tomcat7
sudo apt-get install tomcat7-admin
E agora criaremos uma aplicação de teste para Tomcat usando os seguintes comandos:
cd /var/lib/tomcat7/webapps
sudo mkdir tomcat-demo
sudo mkdir tomcat-demo/goodmoring
sudo vim tomcat-demo/helloworld/index.jsp
E cole o seguinte código:
<HTML>
<HEAD>
<TITLE>Good Morning</TITLE>
</HEAD>
<BODY>
<H1>Good Morning</H1>
Today is: <%= new java.util.Date().toString() %>
</BODY>
</HTML>
Está tudo bem, agora vamos instalar e configurar o mod_jk usando o seguinte comando:
sudo apt-get install libapache2-mod-jk
Temos que começar habilitando a porta de redirecionamento 8443 no Tomcat usando o seguinte comando:
sudo vim /etc/tomcat7/server.xml
E vamos descomentar a seguinte linha:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Depois disso, criaremos nosso arquivo workers.properties para Apache usando o seguinte comando:
sudo vim /etc/apache2/workers.properties
Cole o seguinte texto:
Define 1 real worker using ajp13
worker.list=worker
# Set properties for worker (ajp13)
worker.worker.type=ajp13
worker.worker.host=localhost
worker.worker.port=8009
Agora usaremos o seguinte comando para permitir que o Apache use este trabalhador:
sudo vim /etc/apache2/mods-available/jk.conf
E mudaremos a propriedade JkWorkersFile para a seguinte;
/etc/apache2/workers.properties
Por fim para configurar a URL o Apache deverá passar pelo Tomcat
sudo vim /etc/apache2/sites-enabled/000-default
E adicionaremos a seguinte linha ao arquivo de configuração:
<VirtualHost *:80>
.......................................
.......................................
JkMount /tomcat-demo* worker1
</VirtualHost *:80>
Agora você pode reiniciar os servidores usando os seguintes comandos para verificar sua funcionalidade:
sudo /etc/init.d/tomcat7 restart
sudo /etc/init.d/apache2 restart
Conclusão
Neste artigo, mostramos como configurar e instalar o Apache2 e o Tomcat 7 usando o conector mod_jk.