Ответ 1
Правильный способ сделать это - оставить Apache на 80 и Tomcat на 8080 и использовать подключаемый модуль (предпочтительно mod_proxy) для прокси-сервера Tomcat от Apache. mod_proxy вам понадобится всего 10 минут.
Этот How-to очень прост.
Я работаю над своим первым сайтом Java. Я запускаю Apache Tomcat на порту 8080 и Apache HTTPD на порт 80. Текущий URL-адрес, который я могу получить на сайте, это (например) 123.4.5.6:8080. Я хочу удалить номер порта из URL-адреса, прежде чем указывать домен на новом IP-адресе.
В настоящий момент я использую Apache для phpmyadmin, но я планирую использовать его для скриптов CGI и других вещей, как только я выясню mod_jk
и т.д.... Поэтому я не хочу менять порт Tomcat на 80 и отключите Apache.
Надеюсь, это имеет смысл.
Правильный способ сделать это - оставить Apache на 80 и Tomcat на 8080 и использовать подключаемый модуль (предпочтительно mod_proxy) для прокси-сервера Tomcat от Apache. mod_proxy вам понадобится всего 10 минут.
Этот How-to очень прост.
Обычный способ, как вы уже упоминали, заключается в использовании mod_jk
из Apache HTTPD для пересылки этого контента, который вы хотите обработать Tomcat.
В tomcat.apache.org есть Quick HowTo. Вам необходимо сделать следующее:
mod_jk.so
в соответствующий каталог модулей для Apache HTTPD.workers.properties
httpd.conf
добавьте раздел для настройки mod_jk
.mod_jk
, который обычно находится на порту 8009.Строки в httpd.conf
с JkMount
:
JkMount /examples/* worker1
сообщите Apache HTTPD, запросы которого должны быть отправлены Tomcat.
Оба полезные ответы выше хорошо, но я предпочитаю mod_proxy
более mod_jk
. Нет никакой дополнительной установки для mod_proxy, в отличие от mod_jk
, и настройка намного проще. mod_jk
дает вам больше контроля над подробной настройкой параметров Tomcat, но если вам просто нужно простое перенаправление с Apache на Tomcat, mod_proxy
- это путь.
Если вы хотите, чтобы статический контент обслуживался Apache вместо Tomcat, вы должны использовать mod_jk: http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html
А как насчет SSL - если мы хотим, чтобы Apache обрабатывал HTTPS, потому что он быстрее, чем java/Tomcat?
вы должны настроить свой tomcat, используя эту ссылку. для tomcat 7 http://tomcat.apache.org/tomcat-7.0-doc/proxy-howto.html