Что такое установка Ideal Apache Tomcat с apache, обслуживающим статические ресурсы?
Хорошо, этот вопрос задают все время, когда я знаю: "Какой лучший способ подключить Tomcat через Apache". Но я до сих пор не нашел однозначного ответа, и, возможно, его нет, но я просто ищу жизнеспособную, высокопроизводительную настройку. Так много документации я прочитал в ссылках на статьи 2005 года и старше. Я ищу решение 2010 года:)
У меня есть текущие настройки (не созданные мной), которые используют mod_rewrite, чтобы переписать весь трафик с Apache на Tomcat, используя:
RewriteRule ^(.*) ajp://localhost:8009$1 [P,L]
У нас есть одно приложение в качестве приложения ROOT в Tomcat. Поэтому сейчас я использую mod_rewrite для отправки запросов через ajp (это отличается от mod_proxy_ajp??). Есть ли причины, по которым это может быть менее чем удовлетворительным?
Кроме того, я хочу, чтобы Apache обслуживал статические ресурсы для некоторой загрузки с Tomcat, а также чтобы я мог легко использовать mod_expires/deflate и т.д... Я не уверен, как это сделать.
У меня есть папка 'assets' (т.е. js/css) и images в webroot (в той же директории, что и WEB-INF), поэтому я предполагаю, что мне нужно какое-то соответствие /images
а также /assets
что говорит "не передавай это Tomcat"??
Любая помощь / предложения / комментарии по текущей настройке с благодарностью.
Кстати, я использую:
apache2 - 2.2.9-10
Tomcat - 5.5.29
2 ответа
P в вашем rewriterule - прокси
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !^(images|assets)
RewriteRule ^(.*) ajp://localhost:8009$1 [P,L]
Если вы хотите сказать, что вещи по пути http://localhost/static/* должны обслуживаться из Apache, то вы можете установить RewriteCond перед вашим правилом для захвата всего, что не имеет URI, как /static/* и пересылка на Tomcat через AJP, по существу, оставляя /static/* в одиночку для обслуживания из DocRoot или Alias и т. д.
Например:
RewriteCond %{REQUEST_URI} !\/static\/.* [NC]
RewriteRule ^(.*) ajp://localhost:8009$1 [P,L]