Tomcat + Apache

6 respostas
micheljuca

pessoal, vc se alguem consegue me ajudar.

nunca precisei me preocupar muito com a distribuicao da aplicacao.
Era so gerar o WAR ou EAR e mandar pro responsavel.
Mas dessa vez eu to enrolado com um problema bem complexo.
Pelo que entendi ele esta distribuido num ambiente UNIX com Apache + Tomcat.

Li por aqui que usam o Apache pra conteudo estático e tomcat pro dinamico. Qual seria o problema de colocar o tomcat pra gerenciar conteudo estatico? Entendi o uso do apache pois podem conter outras aplicacoes em PHP por exemplo, que o tomcat nao resolveria. Tem como usar o apache apenas pra enxergar minha aplicacao completa (estatico + dinamico) no tomcat?

Minha ideia é gerar um simples WAR e jogar no Tomcat.

agradeco desde já a atencao.

[]´s

6 Respostas

T

O conteúdo estático pode ser servido bem mais rapidamente pelo Apache que pelo Tomcat.

Além disso, em ambiente Unix deixar algo na porta 80 (default para http) só deve ser feito sob condições especiais, já que supõe que o usuário usado para rodar o programa é “root”. Como o Apache está preparado para isso mas o Tomcat não, normalmente o Apache redireciona os pedidos (porta 80) para o Tomcat (porta 8080), para evitar problemas de segurança que o Tomcat teria fatalmente se ele ficasse como “root” atendendo na porta 80.

Portanto você vai ter de separar sua aplicação em duas partes:

Tudo que está sob WEB-INF deve ficar no Tomcat.
Tudo que está fora de WEB-INF deve ficar no Apache. Nesse caso você deve perguntar ao administrador da máquina Unix como é que normalmente isso é feito (ele normalmente quer um arquivo .tar.gz que contenha esses arquivos estáticos, para ele poder copiar no lugar correto do Apache.

micheljuca

Valeu cara, como sempre vc ajudando :smiley:

entao eu perco o deploy automatico, simplesmente jogando o war em webapps. Agora a distribuicao fica meio manual. Eh meio chato mas eh o jeito.

EDIT

Como ficariam as pastas?
eu jogo a pasta WEB-INF dentro do diretorio webapp/MinhaApp ?

micheljuca

Ah, outra coisa, as jsps podem ficar em

  • Web-content
    • WEB-INF
    • index.jsp

ou seja, a index.jsp ta fora de WEB-INF. Vai pro Apache assim mesmo?

T

Uai, foi só uma generalização infeliz.

index.jsp é conteúdo dinâmico, portanto tem de ir para o Tomcat, não para o Apache. De modo geral:

  • Páginas .jsp, arquivos .class, arquivos de configuração (.properties) têm de ficar no Tomcat
  • Páginas estáticas (.html, .js, .css), applets (.jar), imagens (.jpg, .png, .gif) têm de ficar no Apache

Só lembrar que na hora de configurar o Apache, há alguma coisa para mexer (não conheço direito o Apache para dizer exatamente o que fazer) para que ele aceite a abreviação http://site/aplicacao em vez de http://site/aplicacao/index.jsp .

micheljuca

ja é um comeco, agora é fuçar.
valeu!

micheljuca

o que eu ainda nao entendi é a disposicao das pastas.
Eu crio um projeto no tomcat e jogo o conteudo com a estrutura de um projeto normal mas incompleto?
E como eu vou referenciar links? Visto que as imagens estao no apache. Ainda nao consegui visualizar isso.

Criado 22 de maio de 2006
Ultima resposta 22 de mai. de 2006
Respostas 6
Participantes 2