Интеграция Apache2 и Tomcat 9

207
11 октября 2018, 15:20

Установил Apache, Tomcat и mod_jk. Часть worker.properties:

worker.ajp13_worker.port=8009
worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13

Apache слушает порт 80. Часть jk.conf:

JkMount /tui/* ajp13_worker
JkMount /tui ajp13_worker

Tomcat слушает 8009. Часть server.xml:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

Приложение находится в /opt/tomcat/webapps/tui/. В нем есть index.html и сервлет. С сервлетом все в порядке он обрабатывается и доступен через localhost:8080/tui/servlet. Также index.html открывается через localhost:8080/tui. Однако, это прямое обращение к Tomcat (ведь так?). Если попытаться обратиться через порт 80, то Apache ссылается не туда куда надо. Т.е., вероятно, Apache не коннектится с Tomcat. Что я делаю не так?

P.S. Моя задача состоит в том, чтобы заставить Apache обрабатывать статику, а tomcat сервлеты и JSP.

Answer 1

Как оказалось проблема была не одна:

Во-первых, в worker.properties установить workers.java_home и workers.tomcat_home в значения не по-умолчанию.

Во-вторых, прописывать JkMount нужно было в директиве <VirtualHost>:

<VirtualHost *:80>
    ServerName tui
    DocumentRoot /opt/tomcat/webapps
    <Directory /opt/tomcat/webapps>
        AllowOverride All
        Allow from all
        Require all granted
    </Directory>
    JkMount /tui/servlet* ajp13_worker
</VirtualHost>

В-третьих, как видно выше (Require all granted), нужно было дать возможность обращения к директории с приложением (сайтом), так как по умолчанию Apache запрещает обращаться ко всему, что лежит вне /usr/share и /var/www

В-четвертых, (теоретически не обязательно), я писал <VirtualHost> не в jk.conf, а в /etc/apache2/sites-available/.

P.S. Если выполнять пункт 4, то нужно добавить в /etc/hosts следующее:

127.0.0.1 tui
READ ALSO
Как улучшить запросы в контроллере и форме для вложенных объектов?

Как улучшить запросы в контроллере и форме для вложенных объектов?

Я новичок в Spring MVC и thymeleafНаписал работающий код, но есть подозрение, что я использую костыли в контроллере и форме (результат поверхностного...

186
Проблема с кодировками

Проблема с кодировками

Имеется утилита, которая запускает батники, которые в свою очередь собирают инфу с помощью утилиты wmic и потом с них форматирует отчет на рабочий...

178
Не получается получить данные с DialogFragment

Не получается получить данные с DialogFragment

Есть адаптер который генерирует и обрабатываете клики по елементам, из него вызывается при нажатии на картинку fragmentDialog в котором есть edittextМы...

182
Переход из фрагмента в активити по кнопке

Переход из фрагмента в активити по кнопке

Не получается реализовать переход из фрагмента в активити по кнопкеПерерыв весь интернет, решила попросить о помощи, т

169