Как настроить mod_jk на HTTP-сервере Apache

Mod_jk — это модуль или коннектор Apache, который соединяет контейнер сервлетов Apache Tomcat с веб-серверами, такими как Apache, IIS и другими. Mod_jk — это полная замена старого модуля mod_jser, который обрабатывает связь между Tomcat и HTTP-серверами с использованием протокола Apache JServ.

Мы не будем углубляться в работу модуля mod_jk, поскольку это выходит за рамки данной статьи. Вместо этого мы сосредоточимся на том, как интегрировать его с HTTP-сервером Apache.

Узнайте больше о том, как работает mod_jk.

Примечание
В этой статье мы предполагаем, что у вас установлены и настроены серверы Apache Tomcat и Apache HTTPD. Если нет, просмотрите наши руководства по темам.

 

Шаг 1. Загрузите и установите mod_jk

Первым шагом является загрузка модуля mod_jk для Linux и его сборка для веб-сервера Apache. Если вы работаете в Windows, вы найдете предварительно созданный двоичный файл для настройки mod_jk.

Откройте терминал и введите команду:

wget https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz

 

После загрузки пакета распакуйте его как:

tar xvf tomcat-connectors-1.2.48-src.tar.gz

 

Затем перейдите в извлеченный каталог /native как:

cd tomcat-connectors-1.2.48-src/native/

 

Находясь в собственном каталоге, выполните команду:

./configure -with-apxs=/usr/bin/apxs

 

Приведенная выше команда устанавливает путь к инструментам apxs для HTTP-сервера Apache. Если вы не знаете расположение инструментов apxs, используйте команду which как:

which apxs

/usr/bin/apxs

 

Если вы получили пустой результат, вам необходимо установить пакет apache dev с помощью команды:

sudo apt install apache2-dev

# или

yum install httpd-devel

 

Следующим шагом является создание системного объектного файла для модуля mod_jk.

Используйте команду make в собственном каталоге.

make

 

После успешного завершения вы должны увидеть каталог apache-2.0, созданный в собственном каталоге.

Вы должны увидеть в каталоге файл mod_jk.so.

Скопируйте файл mod_jk.so в каталог модулей apache. Он должен находиться в /usr/lib/apache2/modules или /etc/httpd/modules.

sudo cp mod_jk.so /usr/lib/apache2/modules/

 

Шаг 2: Загрузите модуль mod_jk

После того, как мы добавили модуль mod_jk в каталог модулей Apache HTTPD, нам нужно загрузить его, отредактировав файл httpd.conf.

В каталоге conf отредактируйте файл httpd.conf с помощью вашего любимого текстового редактора? например Vim.

vim /etc/apache2/apache2.conf

 

Затем нам нужно добавить директиву include в файл конфигурации apache для загрузки модуля. Вы можете узнать, как загрузить модули, с помощью grep.

grep -i ^Include /etc/apache2/apache2.conf

 

Приведенная выше команда выдаст такой результат, как показано:

IncludeOptional mods-enabled/*.load

IncludeOptional mods-enabled/*.conf

Include ports.conf

IncludeOptional conf-enabled/*.conf

IncludeOptional sites-enabled/*.conf

 

Из файла конфигурации выше, модули расположены в каталоге с поддержкой модов.

Перейдите в каталог /etc/apache2/mods-enabled и создайте файл mod_jk.conf.

cd /etc/apache2/mods-enabled/ && sudo touch mods_jk.conf

 

Внутри файла добавьте следующие записи.

LoadModule jk_module "/usr/lib/apache2/modules/mod_jk.so"

JkWorkersFile /etc/apache2/conf-enabled/workers.properties

JkShmFile     /etc/apache2/logs/mod_jk.shm

JkLogFile /etc/apache2/logs/mod_jk.log

JkLogLev JkMount  /stat/*  stat

JkMount  /*  balancer el debug

JkLogOptions +forwardKeySize +ForwardURICompat -ForwardDirectories

 

В JkWorkersFile мы определяем информацию об узле.

JkLogFile определяет расположение файла журнала.

JkLogLevel устанавливает уровень журнала для отладки

 

Шаг 3: Настройка файла рабочих

В файле воркера, указанном по пути выше, мы определяем информацию о запущенных серверах приложений.

Вот пример конфигурации:

worker.list=stat

worker.jk-status.type=status

worker.jk-status.read_only=true



worker.tomcat_1.type=ajp13

worker.tomcat_1.port=9001

worker.tomcat_1.host=127.0.0.1



worker.tomcat_2.type=ajp13

worker.tomcat_2.port=9002

worker.tomcat_2.host=127.0.0.1



worker.tomcat_3.type=ajp13

worker.tomcat_3.port=9003

worker.tomcat_3.host=1270.0.0.1



worker.list=balancer

worker.balancer.type=lb

worker.balancer.balance_workers=tomcat_1,tomcat_2,tomcat_3

 

После этого у вас должен быть установлен и готов к работе модуль mod_jk на сервере Apache.

 

Заключение

В этой статье показано, как настроить и использовать модуль mod_jk на сервере HTTPD Apache. Вы можете узнать больше из официальных документов.



2021-09-26T22:08:14
Apache