У меня есть cpanel VPS в одном центре обработки данных (linode), где у меня есть несколько учетных записей клиентов, я хочу сбалансировать нагрузки, используя 2 дополнительных VPS в том же центре обработки данных, подключенных к частным IP-адресам.
Я думал установить это для балансировки нагрузок:
VPS 1: Cpanel, почтовый сервер, Apache (прокси). Получить запросы, публичный IP.
VPS 2: MySQL.
VPS 3: Tomcat.
Сейчас мой приоритет - установка VPS 3.
Архитектура Cpanel загружает модули Java через загрузку apache, включая в определение виртуального хоста mod_jk, я думал изменить сервлет на VPS Tomcat и изменить его местоположение на что-то вроде:
DocumentRoot IP_OF_VPS:/home/didactac/public_html
Как бы то ни было, я не уверен, что это будет вок!
Вот виртуальный хост в apache:
<VirtualHost 173.230.130.64:80>
ServerName danielakosanstore.com
ServerAlias www.danielakosanstore.com
DocumentRoot /home/danielak/public_html
ServerAdmin webmaster@danielakosanstore.com
UseCanonicalName Off
CustomLog /usr/local/apache/domlogs/danielakosanstore.com combined
CustomLog /usr/local/apache/domlogs/danielakosanstore.com-bytes_log "%{%s}t %I .\n%{%s}t %O ."
## User danielak # Needed for Cpanel::ApacheConf
<IfModule mod_suphp.c>
suPHP_UserGroup danielak danielak
</IfModule>
<IfModule !mod_disable_suexec.c>
SuexecUserGroup danielak danielak
</IfModule>
ScriptAlias /cgi-bin/ /home/danielak/public_html/cgi-bin/
Include "/usr/local/apache/conf/userdata/*.conf"
Include "/usr/local/apache/conf/userdata/*.owner-root"
Include "/usr/local/apache/conf/userdata/std/*.conf"
Include "/usr/local/apache/conf/userdata/std/*.owner-root"
Include "/usr/local/apache/conf/userdata/std/2/*.conf"
Include "/usr/local/apache/conf/userdata/std/2/*.owner-root"
Include "/usr/local/apache/conf/userdata/std/2/danielak/*.conf"
Include "/usr/local/apache/conf/userdata/std/2/danielak/danielakosanstore.com/*.conf"
Файл конфигурации, включенный в эти последние строки, загружает сервлеты:
</VirtualHost>
<IfModule mod_jk.c>
JkMount /*.jsp ajp13
JkMount /* ajp13
JkUnmount /*.php* ajp13
JkUnmount /*.cgi ajp13
JkUnmount /*.shtm* ajp13
JkUnmount /*.pl ajp13
JkMount /servlet/* ajp13
JkMount /servlets/* ajp13
</IfModule>
Что, вы парни, думаете ? мне нужно иметь возможность добавлять кучу клиентов-учетных записей-сервлетов или удалять их автоматически
Большое спасибо!
ОБНОВЛЕНИЕ, улучшение моего вопроса:
Этот раздел предназначен для получения дополнительных сведений о базе вопросов по отзывам и вопросам о квантах в комментариях:
кванты: Что вы хотите для балансировки нагрузки, когда у вас есть только один экземпляр Tomcat на VPS3? Что значит «добавить кучу клиентов-учетных записей-сервлетов»?
Ответ: Видите ли, я, наверное, неправильно использовал термин «балансировка нагрузки», я устанавливаю по одному Java-приложению для каждой учетной записи, учетная запись - это веб-сайт, который работает на основе этого Java-приложения, для каждого веб-сайта есть пользователь Linux и виртуальный хост в http.cnf (apache) и один виртуальный хост в server.xml. Apache действует как прокси для tomcat на текущем VPS. Сейчас есть только один VPS. Мне нужна такая же настройка, но с запуском tomcat на другом компьютере. Таким образом, если память машины tomcat не хватает, я могу установить новую машину tomcat, поместить туда нового клиента. Для этого я назвал балансировку нагрузки. Но у меня такое чувство, что я неправильно использую этот термин.
Я устанавливаю одно Java-приложение для каждой учетной записи, учетная запись - это веб-сайт, который работает на основе этого Java-приложения, для каждого веб-сайта есть пользователь linux, виртуальный хост в http.cnf (apache) и один виртуальный хост в server.xml . Apache действует как прокси для tomcat на текущем VPS. Сейчас есть только один VPS. Мне нужна такая же настройка, но запуск Tomcat на другом компьютере.
Конечно, вы можете сделать это, изменив worker.<worker_name>.host
на IP-адрес внутреннего экземпляра Tomcat в workers.properties
, что-то вроде этого:
worker.worker1.host=backend.Tomcat's.IP.address
Могу ли я связать конкретного клиента (веб-сайт, виртуальный хост, учетную запись ... то же самое в данном случае) с конкретным работником
Да, ты можешь. Положите JkMount
в VirtualHost
раздел:
<VirtualHost *:80>
ServerName ...
ServerAdmin ...
JkMount /*.jsp ajp13
JkMount /* ajp13
...
</VirtualHost>