Integracao apache 1.3 + tomcat 4

Eu ja estou conseguindo fazer a integracao do apache com o tomcat utilizando o mod_jk, eu abro arquivos que o tomcat abre pelo apache, eu consigo abrir os arquivos html do tomcat pelo apache, mas eu nao consigo abrir arquivos jsp e servlet pelo apache, sendo que pelo tomcat abre normalmente, e pelo apache da erro 500 (internal server error), eu coloquei as mesmas aplicacoes para os dois, eh aquela que vem com o tomcat 4 o examples, eu instalei o mod_jk e ele ta configurado no apache, no tomcat, e um arquivo workers.properties, e eu quero saber se existe alguma outra configuração ou qual desses arquivos podem estar com alguma configuração errada?
A instalacao do mod_jk foi configurada automaticamente por causa do debian, ele que criou o arquivo worker.properties e eu ja verifiquei os caminhos e ta ok,

se alguem ja conseguiu envie os exemplos, obrigado

Lucas;

Na última Java Magazine ( no. 8 ) saiu uma matéria sobre como integrar Tomcat com Apache. Quando ela chegar a MS ela poderá te ajudar.

Dá uma lida em cada um destes textos, das URL´s abaixo que estou te mandando e depois revise as suas rotinas e/ou procedimentos de instalação.

http://www.galatea.com/flashguides/index
http://www.johnturner.com/howto/apache-tomcat-howto.html
http://www.cardon.biz/docs/tomcat/

Esta última URL, pelo menos do meu ponto de vista, é uma das melhores existentes no assunto.

Eu ja to sabendo que a revista Java Magazine traz a materia, eu quero saber se alguem ja passou por essa situação, e eu ja tinha entrado em dois dos links passados, e eles ensinam a instalar o apache, o tomcat, e o mod_jk, isso eu ja sei, eu so perguntei como configurar o worker.properties, pois eu acho q eh nele que esta o erro, e tambem eu ja citei que ja tinha integrado tudo e que rodo html do tomcat pelo apache e que os jsp e servlet dao erro 500, essas configuracoes normalmente nao são as mesmas pois tenho tomcat que roda na porta 8080 e outro que roda na 8180 e outro na 8081 e tambem as potas 8009 e 8005 podem ser 8007 ou outra, isso que eu quero saber como configura e o que significa

worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13

um arquivo assim eu ja tenho
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13

Se eu consigo fazer a integração eu nao preciso de artigos que ensinem a instalar o apache e o tomcat, eu so quero saber onde eh que pode está o erro, em qual arquivo da configuracao? E não saber de pessoas que leram um artigo e sabe que da certo mas não testaram, quem já teve experiencia e deu certo pode me ajudar, obrigado.

Lucas;

Integrar apache e tomcat com mod_jk exige editar 3 arquivos:

-server.xml do tomcat, adicionando connector para o protocolo AJP
-workers.properties, arquivo para o apache que indica quais workers ele tem disponível.
-http.conf, adicionando diretivas para o mod_jk redirecionar URL’s para o tomcat, um monte de <JkMount …/>.

Para verificar se o teu workers.properties tá ok, levanta o tomcat e executa um netstat para verificar se as portas relacionadas no arquivo tão em estado de listening.

Só uma dica, se teu apache for 2.0 é melhor utilizar o mod_jk2.

Infelizmente muitos falam do que não tem certeza.
Realizei o processo de integração e configuração do Apache + Tomcat, seguindo os how-to, e não artigo (artigo é outra coisa), da URL http://www.galatea.com/flashguides/index, portanto em hora nenhuma recomendei algo que não tinha testado.
Eu, particularmente, já tive problemas de configuração no processo de integração entre o Apache e o Tomcat no DEBIAN, mais precisamente devido ao arquivo workers.properties que ele gera automaticamete em um ponto de montagem qualquer lá, que no presente momento não lembro o nome. Resolvi o problema trocando o arquivo workers.properties pelo contido na url http://www.galatea.com/flashguides/apache-tomcat-4-unix.xml

Caso você ainda enfrente problemas e queira ajuda, estou a disposição, entretanto solicito que envie a versão do seu Apache, Tomcat, mod_jk, tendo em vista que se você está utilizando os pacotes pré-prontos .deb, tudo será diferente das versões correntes.

Não necessariamente o seu erro estará no workers.properties, tendo em vista que em outras distribuições, bem como, em outros sistemas operacionais já tive problemas similares aos seus, só que o problema estava no server.xml, mais precisamente nas definições dos contextos.

Caso o erro ainda persista seria interessante você nos encaminhar, aqui no fórum mesmo, os fragmentos de configuração do workers.properties, bem como do httpd.conf e do server.xml

Atenciosamente,

Sem querer mudar o rumo do tópico (já mudando) eu gostaria de saber como eu devo proceder com a seguinte estrutura:

Um servidor web Apache 1.3.26 atendendo aos request´s e uma máquina em minha intranet onde está instalado o tomcat 4.1.24 e minha aplicação.

Tenho dúvidas, pois não sou webmaster. Tenho que ter o Apache instalado tb onde vou rodar minha aplicação? Como devo fazer essa configuração?

Eu já fiz a integração localmente e funcionou.
Talvez vc possa me dar uma explicação scarlosantos…

Bom vou considerar o seguinte:

    • Na máquina 01 você tem um servidor web com apache 1.3.26 que atende e responde às solicitações vindas de sua internet/intranet, solicitações estas de páginas estáticas.
    • Na máquina 02 você tem o tomcat que responde às solicitações de páginas dinâmicas.

    Existe algum fator especial que faz você necessitar de duas máquinas, sendo uma somente com apache e outra somente com tomcat para a sua aplicação?

    Embora o tomcat, seja capaz de atender às solicitações de html estático é altamente recomendável que você o integre com o apache, tendo em vista que o este último é muito mais rápido que o tomcat em requisições de páginas estáticas, como é o caso do html, conforme comentado na documentação do projeto jakarta tomcat.

    Uma boa medida seria integrar o apache com o tomcat, definindo na configuração dos mesmos o apache como responsável por todas as páginas de conteúdo estático e o tomcat para servlets e jsp de uma forma em geral.

“Tenho dúvidas, pois não sou webmaster. Tenho que ter o Apache instalado tb onde vou rodar minha aplicação? Como devo fazer essa configuração?”

Conforme respondi anteriormente não é obrigatório, mas é altamente recomendável, pelo menos no que se diz respeito à performance.

Caso a sua aplicação tenha um número muito alto de acessos, talvez seria o caso de você ter dois servidores de aplicação, utilizando o recurso de load balancing, oferecido pelo tomcat.

Por fim, tomara que não seja isto, espero que você não esteja querendo que as requisições, sejam elas para páginas estáticas ou dinâmicas cheguem ao seu apache na máquina 01, sejam encaminhadas para o tomcat na máquina 02. Se for isso não sei se é possível.

Atenciosamente,

Para integrar com o tomcat em outra máquina basta editar o worker.properties as linhas

Onde ** é o worker em questão sendo configurado
e substituir por

Supondo que o endereço do teu tomcat seja 192.168.0.3.

A perda de performance não será tão acentuada se vc estiver usando o worker.properties aqui postado pq ele já utiliza de sockets, mas se vc tiver usando unix sockets, shm ou embedded tomcat (tomcat no mesmo processo do apache) ai a diferença é substancial.

A rede interna dificilmente será um gargalo, pq saturar 100 mbit/s com tomcat vc vai precisar dum servidor muuuito punk e nesse caso 1 par de gigabits com bonding não vai ser problema.

Bem, no primeiro momento é mais simples do que eu esperava…

Algumas dúvidas que restaram:

  1. Além do web server, não preciso ter o Apache instalado também na máquina onde vai rodar o Tomcat?

  2. Hoje da maneira que está configurado meu arquivo ‘workers.properties’ se encontra em %TOMCAT_HOME%/conf/jk. Posso editá-lo neste local mesmo, ou tenho que transferí-lo para o web server devido a referência JkWorkersFile que faço em ‘httpd.conf’?

Nesta última dúvida existe algo relacionado à hosts virtuais?

  1. dúvida:

Onde eu determino o uso de ‘sockets’ ou ‘unix sockets’?

[quote=“maresp”]Bem, no primeiro momento é mais simples do que eu esperava…

Algumas dúvidas que restaram:

  1. Além do web server, não preciso ter o Apache instalado também na máquina onde vai rodar o Tomcat?
    [/quote]
    Hmmm, acho que ta rolando 1 falha de comunicação aqui, o Apache, ate onde eu sei, é um web server.
    A única coisa que voce precisa é o tomcat na máquina, o webserver pode ficar em outra se voce quiser.

Que usa esse arquivo é o apache, então ele tem que ficar no mesmo servidor do ‘httpd.conf’.

[quote=“maresp”]

Nesta última dúvida existe algo relacionado à hosts virtuais?
3. dúvida:

Onde eu determino o uso de ‘sockets’ ou ‘unix sockets’?[/quote]

Não existe nada relacionado a hosts virtuais qual transporte será utilizado.
Desculpa a confusão aqui, só mod_jk2 suporta outro transporte que não sockets.
Porem voce ainda pode usar o tomcat via jni rodando no mesmo processo que o apache. Basta configurar as propriedades bridge, classpath, cmd_line, jvm_lib e outras mais e modificando type para ‘jni’.

Alguém escreve um artigo sobre integração entre Apache e Tomcat, pelamordedeus? :smiley:

cv,

O problema não é falta de informação e sim o excesso sem conformidade. Algumas particularidades (dúvidas) só dá pra tirar com quem já fez e enfrentou os mesmos problemas. Desculpem a franqueza, mas se escreverem um artigo, vai ser simplesmente mais um.

Valeu pela atenção louds!

exatamente
pq, por exemplo, a versão do apache, como ele foi compilador, a distro linux, etc muita diferença.

o problema nao eh a falta de artigos de como fazer , receitas de bolo, isso serve para quem tem os mesmos ngredientes, tem que ensinar o que significa cada notação, directiva, variavel dos arquivos httpd.conf, do server.xml, e do worker.properties ai sim cada um sabera montar a sua propria integracao, bom, eu fiz o que o site que o scarlos passou e agora nao consigo nem iniciar mais o tomcat, coloquei igualzinho ta no site, e antes ele iniciava, bom vou continuar tentando.
obrigado pela força

Lucas;

pessoal!

java magazine numero 8! tem um artigo EXATAMENTE disso.

em que mundo voces vivem?

esses blogueiros! :slight_smile:

Consegui avançar mais um passo li este artigo
http://www.ccl.net/cca/software/UNIX/apache/debian-tomcat/node6.html
, mas ainda nao esta rodando corretamente, mas ja eh um começo, tinha voltado ao zero e agora avancei uma casa, ainda tem algumas configuracoes confusas, tipo a porta 8007 nao esta aberta, e a 8009, 8005, 8008 estao abertas.