我有一个数据中心(linode)的cpanel VPS,我有一堆客户的帐户,我想平衡负载使用2个额外的VPS在与私有IP连接相同的数据中心。
我正在考虑设置这个平衡负载:
VPS 1:Cpanel,邮件服务器,Apache(Proxy)。 获取请求,公共IP。
VPS 2:Mysql。
VPS 3:Tomcat。
现在我的重点是设置VPS 3。
Cpanel体系结构通过apache加载加载Java模块,包括在虚拟主机定义中的一个mod_jk,我正在考虑将servlet更改为tomcat VPS,并将其位置更改为如下所示:
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 [email protected] 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"
包含在加载servlet的最后一行的configuration文件:
</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>
你们有什么感想 ? 我需要能够添加一堆clients-accounts-servlets,或者自动删除它们
非常感谢你!
更新,改善我的问题:
本部分的目的在于给出关于评论中的反馈问题和量子问题的附加细节:
quanta :当你在VPS3上只有一个Tomcat实例时,你想要做什么负载平衡? 什么“添加一堆客户 – 帐户 – servlets”是什么意思?
答 :也许我没有使用负载平衡的正确的方式,你看,我安装一个Java应用程序每个帐户,一个帐户是一个网站,基于这个Java应用程序运行,每个网站有一个Linux用户,和一个http.cnf(apache)中的虚拟主机和server.xml中的一个虚拟主机。 Apache作为当前VPS上的tomcat的代理。 现在只有一个VPS。 我需要的是这个相同的设置,但在不同的机器上运行tomcat。 这样,如果tomcat的机器内存不起来,我可以设置一个新的tomcat机器,把新的客户端在那里。 为了我称之为负载平衡。 但是我感觉我没有使用正确的方式。
我为每个帐户安装一个Java应用程序,一个帐户是基于这个Java应用程序运行的网站,每个网站都有一个linux用户,在http.cnf(apache)中有一个虚拟主机,server.xml中有一个虚拟主机。 Apache作为当前VPS上的tomcat的代理。 现在只有一个VPS。 我需要的是这个相同的设置,但在不同的机器上运行tomcat 。
当然,您可以通过将worker.<worker_name>.host更改为workers.properties的后端Tomcat实例的IP地址,如下所示:
worker.worker1.host=backend.Tomcat's.IP.address
我可以将特定的客户(网站,虚拟主机,帐户…在这种情况下相同)链接到特定的工作人员
是的你可以。 将JkMount放入VirtualHost部分:
<VirtualHost *:80> ServerName ... ServerAdmin ... JkMount /*.jsp ajp13 JkMount /* ajp13 ... </VirtualHost>