Назад | Перейти на главную страницу

Как настроить apache и tomcat на один и тот же URL-адрес?

Скажем, у меня есть зарегистрированный 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.

  1. http - Итак, tomcat работает как http-сервер, а apache общается с tomcat через HTTP.
  2. mod_proxy_ajp - использует протокол ajp (также используется mod_jk). В этом случае apache общается с tomcat через двоичный протокол, который имеет лучшую производительность.

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