O que é uma configuração ideal do Apache Tomcat com o apache servindo ativos estáticos?

1

OK esta pergunta é feita o tempo todo que eu sei: "Qual é a melhor maneira de conectar o Tomcat através do Apache". Mas ainda não encontrei uma resposta definitiva e talvez não haja uma, mas estou apenas procurando uma configuração viável e de alto desempenho. Grande parte da documentação que li contém artigos de referência de 2005 e anteriores. Estou procurando uma solução para 2010:)

Eu tenho uma configuração atual (não criada por mim) que usa mod_rewrite para reescrever todo o tráfego do apache para o tomcat usando:

RewriteRule ^(.*) ajp://localhost:8009$1 [P,L]

Temos um aplicativo como aplicativo ROOT no tomcat. Então, agora eu estou usando mod_rewrite para enviar solicitações sobre ajp (isso é diferente de mod_proxy_ajp ??). Existem algumas razões pelas quais isso pode ser menos do que satisfatório?

Além disso, estou tentando fazer com que o Apache forneça ativos estáticos para tirar um pouco de carga do Tomcat, também para que eu possa facilmente usar mod_expires / deflate etc ... Não tenho certeza de como para fazer isso.

Eu tenho uma pasta 'assets' (ou seja, js / css) e 'images' no webroot (mesmo diretório do WEB-INF), então estou assumindo que preciso de algum tipo de correspondência em /images e /assets que diz "não passe isso para o Tomcat" ??

Qualquer ajuda / sugestões / comentários sobre a configuração atual são muito apreciados.

btw eu estou usando:
apache2 - 2.2.9-10
Tomcat - 5.5.29

    
por brad 30.06.2010 / 20:06

2 respostas

0

O P na sua rewriterule é Proxy

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !^(images|assets)
RewriteRule ^(.*) ajp://localhost:8009$1 [P,L]
    
por 01.07.2010 / 03:18
1

Se você gostaria de dizer, as coisas sob o caminho link * para serem exibidas a partir do Apache, você pode definir um RewriteCond antes de sua regra capturar tudo o que não tem o URI como / static / * e encaminhar no Tomcat via AJP, essencialmente deixando / static / * sozinho para ser servido do DocRoot ou um Alias, etc.

Por exemplo:

RewriteCond %{REQUEST_URI} !\/static\/.* [NC]
RewriteRule ^(.*) ajp://localhost:8009$1 [P,L] 
    
por 01.07.2010 / 03:03