Exibindo conteúdo estático com o servidor da web Apache e o Tomcat

1

Eu configurei o servidor web Apache e o Tomcat assim:

Eu criei um novo arquivo no apache2 / sites-available, chamado "myDomain" com este conteúdo:

<VirtualHost *:80>

ServerAdmin [email protected]
ServerName myDomain.com
ServerAlias www.myDomain.com

ProxyPass / ajp://localhost:8009

<Proxy *>
AllowOverride AuthConfig
Order allow,deny
Allow from all
Options -Indexes
</Proxy>

</VirtualHost>

Ativado mod_proxy e myDomain

a2enmod proxy_ajp
a2ensite myDomain

Editado server.xml do Tomcat (dentro da tag Engine)

<Host name="myDomain.com" appBase="webapps/myApp">
<Context path="" docBase="."/>
</Host>
<Host name="www.myDomain.com" appBase="webapps/myApp">
<Context path="" docBase="."/>
</Host>

Isso funciona muito bem. Mas eu não gosto de colocar arquivos estáticos (html, imagens, vídeos, etc) em subpastas {tomcat home} / webapps / myApp em vez disso, eu gostaria de colocá-los subdiretórios do diretório WWW raiz do servidor apache. E eu gostaria que o servidor web Apache servisse esses arquivos sozinho.

Como eu poderia fazer isso? Assim, todos os pedidos recebidos serão encaminhados para o Tomcat, exceto aqueles que solicitarem um arquivo estático.

    
por Hunter 27.02.2011 / 00:00

2 respostas

1

Você provavelmente deseja usar ProxyPassMatch . Você pode usá-lo como:

ProxyPassMatch ^(/.*\.cgi)$ ajp://localhost:8009$1

para fazer proxy de todas as solicitações terminadas em .CGI. Se você deseja usar várias extensões, basta adicionar mais linhas ou editar a expressão regular. Então você só tem que ter certeza que seu VirtualHost está configurado para servir os demais tipos de imagem.

    
por 27.02.2011 / 02:59
0

Embora a resposta da uesp seja tecnicamente correta, eu sempre recomendo que as pessoas usem o conector apache mod_jk para hospedar servidores de aplicativos Java através do Apache. Em geral, simplifica, bem ... tudo e permite montar contextos específicos. Por exemplo, agora você pode usar apenas:

LoadModule     jk_module   libexec/mod_jk.so
JKMount        /myapp/*    ajp13

Ele torna as solicitações de encaminhamento muito mais fáceis e também oferece muito mais flexibilidade ao usar o Apache para hospedar outros recursos.

    
por 27.02.2011 / 22:11