如何使用ApacheHTTP代理到两个不同的tomcat服务器?
我有一个apachehttpd,我想将它代理到两个不同的tomcat服务器 我看到:如何使用ApacheHTTP代理到两个不同的tomcat服务器?,apache,tomcat,proxy,Apache,Tomcat,Proxy,我有一个apachehttpd,我想将它代理到两个不同的tomcat服务器 我看到: 但这只适用于一台tomcat服务器。如果除了运行在8080上的tomcat之外,还有一台服务器运行在8081上会怎么样?您可以在第三台服务器上安装HAProxy,这将作为两台服务器的LB,或者您可以在任意一台服务器上安装HAProxy,然后执行以下配置 安装HAProxy(如果您运行的是Ubuntu/Debain发行版) 安装后,在配置中执行以下MOD: $ sudo vim /etc/haproxy/hap
但这只适用于一台tomcat服务器。如果除了运行在8080上的tomcat之外,还有一台服务器运行在8081上会怎么样?您可以在第三台服务器上安装HAProxy,这将作为两台服务器的LB,或者您可以在任意一台服务器上安装HAProxy,然后执行以下配置 安装HAProxy(如果您运行的是Ubuntu/Debain发行版) 安装后,在配置中执行以下MOD:
$ sudo vim /etc/haproxy/haproxy.cfg
global
maxconn 4096
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen webcluster *:80
mode http
stats enable
stats auth us3r:passw0rd
balance roundrobin
option httpchk HEAD / HTTP/1.0
option forwardfor
cookie LSW_WEB insert
option httpclose
server web01 192.168.0.1:8080 cookie LSW_WEB01 check
server web02 192.168.0.2:8081 cookie LSW_WEB02 check
完成后,通过以下方式重新启动HAProxy服务:
$ sudo service haproxy restart
这里192.168.0.1和192.168.0.2可以是您的两台服务器,一台可以在8080端口上运行,另一台可以在8081端口上运行
参考职位:
如果你不使用Ubuntu/Debain,你也可以在谷歌上找到关于如何在你的linux发行版上安装haproxy的在线帮助。是的,你可以打赌它是一个行之有效的工具。你可以在第三台服务器上安装HAProxy,这两台服务器都可以作为LB使用,或者你可以在任何一台服务器上安装HAProxy,然后执行以下配置 安装HAProxy(如果您运行的是Ubuntu/Debain发行版) 安装后,在配置中执行以下MOD:
$ sudo vim /etc/haproxy/haproxy.cfg
global
maxconn 4096
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen webcluster *:80
mode http
stats enable
stats auth us3r:passw0rd
balance roundrobin
option httpchk HEAD / HTTP/1.0
option forwardfor
cookie LSW_WEB insert
option httpclose
server web01 192.168.0.1:8080 cookie LSW_WEB01 check
server web02 192.168.0.2:8081 cookie LSW_WEB02 check
完成后,通过以下方式重新启动HAProxy服务:
$ sudo service haproxy restart
这里192.168.0.1和192.168.0.2可以是您的两台服务器,一台可以在8080端口上运行,另一台可以在8081端口上运行
参考职位:
如果你不使用Ubuntu/Debain,你也可以在谷歌上找到关于如何在你的linux发行版上安装haproxy的在线帮助。但是,你可以打赌,它是一种经过验证的工作工具。有一种更简单的方法可以使用设置负载平衡。只需在平衡器列表下列出tomcat服务器,然后将该平衡器放入您的
ProxyPass
:
<Proxy balancer://mycluster>
BalancerMember http://tomcat1:8080/
BalancerMember http://tomcat2:8081/
</Proxy>
ProxyPass /test balancer://mycluster
平衡员http://tomcat1:8080/
平衡员http://tomcat2:8081/
代理通过/测试balancer://mycluster
有一种更简单的方法可以使用设置负载平衡。只需在平衡器列表下列出tomcat服务器,然后将该平衡器放入您的ProxyPass
:
<Proxy balancer://mycluster>
BalancerMember http://tomcat1:8080/
BalancerMember http://tomcat2:8081/
</Proxy>
ProxyPass /test balancer://mycluster
平衡员http://tomcat1:8080/
平衡员http://tomcat2:8081/
代理通过/测试balancer://mycluster
Apache httpd两个现成的选项,用于代理任意数量的后端Tomcat实例:
mod\u proxy\u http
mod\u proxy\u ajp
AJP://
开头的URL,而不是后端服务器的HTTP://
。两者都可以以相同的方式配置为负载平衡、故障切换等。通过为单独的URL空间(例如/app1
->Tomcat1和/app2
->Tomcat2)提供单独的代理配置,您可以代理完全独立的Tomcat实例(即没有负载平衡:只有单独的后端),或者您可以为负载平衡配置两个(或更多)后端实例,等等
具体而言,请参阅以下httpd配置指令的文档:
<Proxy>
BalanceMember
ProxyPass
ProxyPassReverse
平衡成员
ProxyPass
ProxyPassReverse
您可以在此处找到所有这些的文档:
mod_jk
(而不是mod_jk2
,它现在是一个旧的、死的、废弃的、完全不相关的项目)。您可以在Tomcat网站上找到更多关于mod_jk的信息:
mod_jk
与mod_proxy\u AJP
相比,具有完全不同的配置过程和更多特定于AJP的选项
您在原始帖子中提到的(简短)文档(来自旧的
mod_jk2
docs)指向ApacheHTTPD的mod_proxy_ajp
和mod_proxy_平衡器
模块(尽管它指向了不稳定的httpd2.1,在编写文档时它是最前沿)。你在正确的轨道上:你只需要继续阅读。您完全可以使用此处描述的任何模块来代理任意数量的Tomcat后端实例。Apache httpd两个现成的选项,用于代理任意数量的后端Tomcat实例:
mod\u proxy\u http
mod\u proxy\u ajp
AJP://
开头的URL,而不是后端服务器的HTTP://
。两者都可以以相同的方式配置为负载平衡、故障切换等。通过为单独的URL空间(例如/app1
->Tomcat1和/app2
->Tomcat2)提供单独的代理配置,您可以代理完全独立的Tomcat实例(即没有负载平衡:只有单独的后端),或者您可以为负载平衡配置两个(或更多)后端实例,等等
具体而言,请参阅以下httpd配置指令的文档:
<Proxy>
BalanceMember
ProxyPass
ProxyPassReverse
平衡成员
ProxyPass
ProxyPassReverse
您可以在此处找到所有这些的文档:
mod_jk
(而不是mod_jk2
,它现在是一个旧的、死的、废弃的、完全不相关的项目)。您可以在Tomcat网站上找到更多关于mod_jk的信息:
mod_jk
与mod_proxy\u AJP
相比,具有完全不同的配置过程和更多特定于AJP的选项
您在原始帖子中提到的(简短)文档(来自旧的mod_jk2
docs)指向ApacheHT