Балансировка нагрузки PAS for OpenEdge на основе Tomcat Load Balancing
Инсталляция и настройка сервера Apache HTTP
Благодаря простоте в управлении и гибкости веб-сервер Apache является одним из самых популярных и мощных веб-серверов в мире. В этой части мы выполним его инсталляцию и последующую настройку для балансировки нагрузки.
Инсталляция Apache
Веб-сервер Apache в нашем примере будет находиться на отдельной виртуальной машине с IP-адресом 172.16.95.146.
В первую очередь для простоты идентификации под пользователем root изменим имя хоста этого сервера на apache:
hostnamectl set-hostname apache systemctl restart systemd-hostnamed
Теперь выполним инсталляцию (под root):
- Очистим yum:
yum clean all
- Обновим все наши пакеты:
yum -y update
- Для инсталляции Apache достаточно выполнить одну команду:
yum -y install httpd
- Разрешим доступ к Apache через firewall. Для этого откроем стандартные порты 80 (HTTP) и 443 (HTTPS).
firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp
- Перезагрузим firewall:
firewall-cmd --reload
- Настроим старт Apache во время загрузки операционной системы:
systemctl enable httpd
- Выполним старт веб-сервера:
systemctl start httpd
- Проверим статус:
systemctl status httpd
Мы должны увидеть на экране строку:
Active: active (running)
- Остановим веб-сервер, так как на данном этапе нам он не нужен:
systemctl stop httpd
Инсталляция MOD_JK на Apache HTTPD
Что такое mod_jk? mod_jk представляет собой модуль веб-сервера Apache, который позволяет приложениям Apache Tomcat взаимодействовать с сервером HTTPD. Проще говоря, mod_jk позволяет нам соединить экземпляр Tomcat (в нашем конкретном случае PAS for OpenEdge) с веб-сервером Apache HTTPD.
Процесс инсталляции mod_jk несложен, но тем не менее в первую очередь он требует компиляции.
Для начала убедимся, что у нас установлены все необходимые модули для httpd и tomcat:
yum install httpd-devel apr apr-devel apr-util apr-util-devel gcc gcc-c++ make autoconf libtool
Затем скачаем сам модуль с официального веб-сайта (на момент написания статьи номер текущей версии модуля был 1.2.42):
http://tomcat.apache.org/download-connectors.cgi
Для скачивания выполним следующее:
mkdir -p /opt/mod_jk/ cd /opt/mod_jk wget http://www.eu.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.42-src.tar.gz tar -xvzf tomcat-connectors-1.2.42-src.tar.gz cd tomcat-connectors-1.2.42-src/native
В каталоге native выполним компиляцию и инсталляцию модуля:
./configure --with-apxs=/usr/bin/apxs --enable-api-compatibility make libtool --finish /usr/lib64/httpd/modules make install
Если всё прошло без ошибок, то в каталоге /etc/httpd/modules/ должен появиться файл mod_jk.so:
ls -la /etc/httpd/modules/mod_jk.so -rwxr-xr-x. 1 root root 1553160 Feb 9 18:00 /etc/httpd/modules/mod_jk.so
Настройка Apache для балансировки нагрузки
Настройка веб-сервера Apache HTTP для балансировки Tomcat load balancing состоит из:
- включения протокола AJP13 для коммуникации с балансировщиком нагрузки;
- связывания с балансировщиком нагрузки.
Для активации протокола AJP13 раскомментируем или добавим, если отсутствуют, следующие модули в конфигурационном файле веб-сервера httpd.conf:
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
Для связывания с балансировщиком нагрузки в файл httpd.conf добавим следующие описания:
#workers.properties load balancing config LoadModule jk_module apache_install_dir/modules/mod_jk.so JkWorkersFile apache_install_dir/conf/workers.properties JkShmFile apache_install_dir/logs/mod_jk.shm JkLogFile apache_install_dir/logs/mod_jk.log JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" JkMount /* lb
Обратите внимание на то, что экземпляр балансировщика нагрузки должен именоваться lb.
Обратитесь к документации Tomcat для получения дополнительной информации.
Продолжение на следующей странице…
Есть вопрос? Спросите...
Для отправки комментария вам необходимо авторизоваться.
1 Комментарий
Валерий, спасибо.
Очень интересно и полезно.