Integrando Apache com Glassfish
Após fazer a migração das minhas aplicações do Tomcat para o Glassfish ainda faltou fazer com que o Apache (httpd) redirecionasse requisições para o Glassfish. Isto é útil quando temos aplicações (em PHP, por exemplo) que rodam no Apache e ainda queremos usar a porta http default 80 para aplicações desenvolvidas em Java rodando no Glassfish.
Para habilitar no Glassfish (versão v2) a integração com o Apache, temos que copiar os jars commons-modeler, commons-logging e tomcat-ajp de uma instalação existente do Tomcat (importante: não pode ser a última versão do Tomcat que não funciona, eu usei a 5.5.17) para o diretório $GLASSFISH_HOME/lib. No meu caso comecei a ter problemas com o log4j e tive que tirá-lo do pacote da minha aplicação e colocá-lo no diretório lib também para o servidor inicializar sem erro. Só que minha aplicação parou de mostrar os logs do log4j, isso ainda é um problema que tenho que contornar.
Após ter copiado os jars, ainda temos que definir uma propriedade na inicialização do Glassfish que definirá a porta utilizada pelo mod_jk do Apache para se comunicar com o Glassfish:
-Dcom.sun.enterprise.web.connector.enableJK=8009
Isso pode ser feito pela interface de administração (por exemplo, http://localhost:4848) ou usando o comando:
$GLASSFISH_HOME/bin/asadmin create-jvm-options -Dcom.sun.enterprise.web.connector.enableJK=8009
Não vou explicar a parte do Apache que utilizaria o mod_jk, é só procurar no Google como faz a integração Tomcat com Apache que é igual.
Se alguém quiser mais detalhes, ver em essa página em inglês: Running GlassFish with Apache httpd
Sem comentários ainda
Seja o primeiro a comentar!