Como integrar o Tomcat com o Apache utilizando o Mod JK?

De Wiki
Ir para: navegação, pesquisa

O Mod_JK é um modulo de integração do Tomcat com servidores web, como o Apache. Com ele, solicitações a páginas estáticas de aplicações que rodam no Tomcat são respondidas diretamente pelo Apache, melhorando a performance do servidor. Outra vantagem, é que as portas onde rodam o Tomcat ficam ocultas, já que o Apache busca estas aplicações e as apresenta na porta 80.

Para instalar e configurar o Mod_JK, siga os passos abaixo:

1. Abra uma nova janela do "Terminal" ou execute o “Console” em seu painel;
NOTA: Para informações sobre como utilizar o console, acesse Como utilizar o Console no painel do CloudFlex?.


2. Habilite o conector AJP no Tomcat:
NOTA: O conector AJP já vem habilitado por padrão a partir da versão 8 do Tomcat.
vi /var/tomcat/default/conf/server.xml


3. O AJP deve conter a seguinte linha:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


4. Em seguida, reinicie o Tomcat para que a alteração seja processada:
/etc/init.d/tomcat restart


5. Instale e configure o Mod_JK:
mkdir /var/mod_jk
cd /var/mod_jk
wget http://www-us.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz
tar xvzf tomcat-connectors-1.2.41-src.tar.gz
cd tomcat-connectors-1.2.41-src/native
./configure --with-apxs=/usr/sbin/apxs --enable-api-compatibility
make
./libtool --finish /usr/lib64/httpd/modules
make install


6. Reinicie o Apache:
/etc/init.d/httpd restart


7. Crie um arquivo de configuração. Para isso, edite o arquivo workers.properties, apague todo o conteúdo, cole o conteúdo abaixo e, em seguida, altere-o de acordo com suas configurações:
vi /etc/httpd/conf/workers.properties
# Define 1 real worker using ajp13
worker.list=my_webname
worker.my_webname.type=ajp13
worker.my_webname.host=localhost ou IP_SERVIDOR_EXTERNO
worker.my_webname.port=8009
# configure jk-status
worker.list=jk-status
worker.jk-status.type=status
worker.jk-status.read_only=true
# configure jk-manager
worker.list=jk-manager
worker.jk-manager.type=status


8. Crie um arquivo jk.conf:
vi /etc/httpd/conf.d/jk.conf
JkWorkersFile /etc/httpd/conf/workers.properties
# Where to put jk shared memory
JkShmFile     /var/run/httpd/mod_jk.shm
# Where to put jk logs
JkLogFile     /var/log/httpd/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel    info
# Select the timestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
#JkRequestLogFormat "%w %V %T"
#JkEnvVar SSL_CLIENT_V_START worker1


9. Carregue o modulo JK junto com o Apache. Para isso, edite o arquivo /etc/httpd/conf/httpd.conf e ao final do arquivo adicione a linha de configuração abaixo:
LoadModule jk_module modules/mod_jk.so


10. Defina quais pastas do Tomcat que deverão ser carregadas pelo Apache. Para isso, edite o arquivo /etc/httpd/conf/httpd.conf e abaixo do DocumentRoot adicione a linha abaixo, substituindo web_name pelo worker criado anteriormente:
JkMount /* my_webname(worker)


11. Em seguida, reinicie o Apache e o Tomcat:
/etc/init.d/tomcat restart
/etc/init.d/httpd restart


12. Por fim, teste as configurações acessando seu servidor via browser pelo link http://SuaConta.hospedagemweb.net/.


NOTAS:
  • Substitua SuaConta pelo ID (login).hospedagemweb.net do seu servidor.
  • Para testar o funcionamento, recomendamos o download da aplicação a seguir para carregá-la no Tomcat. Esta aplicação testa uma página JSP e um Servlet:

https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/sample.war