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

Thank you for reading this post, don't forget to subscribe!

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

 

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

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

Шаг 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: Настройка файла рабочих

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

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

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