Скажем, у меня есть зарегистрированный URL mywebsite.com
указывая на мой сервер с публичным IP-адресом.
Я хочу запустить и tomcat, и apache для обслуживания страниц (т.е. некоторых статических страниц на apache и некоторых динамических страниц на tomcat, таких как jsp и т. Д.).
Для простоты предположим, что apache прослушивает 80, а tomcat - 8080.
Я слышал о mod_proxy
. Возможны ли запросы на mywebsite.com
перейти в Apache и mywebsite/loggedin
перейти к коту? Если да, то как это настроить и где? Спасибо.
Я бы рекомендовал использовать mod_jk
- он имеет тенденцию быть более конкретным, чем mod_proxy
, и легче отлаживать. Вы можете пересылать контексты. Т.е., если у меня есть webapp1
и webapp2
работает на Tomcat, и у меня есть images
каталог на Apache, это будет работать:
<VirtualHost *:80>
...
JKMount /webapp1/* ajp13
JKMount /webapp2/* ajp13
Alias /images "/some/local/dir"
</VirtualHost>
Это также намного проще настроить, и большинство дистрибутивов уже имеют пакеты в своих собственных менеджерах пакетов. Надеюсь это поможет!
mod_proxy хорошо работает с tomcat. Есть 2 способа прокси-сервера Tomcat через mod_proxy.
mod_proxy_ajp - это пакет, который поставляется с apache по сравнению с mod_jk, который необходимо загрузить и скомпилировать. Но mod_jk обычно сначала получает новые функции и имеет больше возможностей. Если ваша установка НЕ сложна ... mod_proxy_ajp - это то, что вам нужно. В этом случае в Tomcat вам необходимо настроить tomcat для подключения AJP. И вам не понадобится соединитель http в server.xml. Для apache директива может быть такой же простой:
ProxyPass /loggedin ajp://127.0.0.2:8009/loggedin
Прокси-документы с примерами ajp находятся здесь: http://httpd.apache.org/docs/2.2/mod/mod_proxy.html