利用apache和tomcat做集群,有好几种方式我们来介绍一种方法
一:查看是否有mod_proxy模块功能
| 代码如下 | 复制代码 |
|
[i5a6]# /usr/local/apache/bin/httpd -l |
|
可以看到是否有mod_proxy的模块,直接去 /usr/local/apache/modules/ 去查看是否有对应的mod_proxy.so,mod_proxy_balancer.so,mod_proxy_http.so,mod_proxy_ajp.so的模块包
二:本人的是vps已经安装好的apache不过没有编译此模块要自己动手编译
| 代码如下 | 复制代码 |
| [i5a6]# find / -name mod_proxy.c |
|
注释:我是不知道它的安装目录,直接根目录下检索吧,主要是找对应的模块文件夹;
执行结果
| 代码如下 | 复制代码 |
|
:/home/cpeasyapache/src/httpd-2.2.17/modules/proxy/mod_proxy.c [i5a6]# cd /home/cpeasyapache/src/httpd-2.2.17/modules/proxy/ [i5a6]# /usr/local/apache/bin/apxs -c -i mod_proxy_balancer.c [i5a6]# /usr/local/apache/bin/apxs -c -i mod_proxy_http.c # 安装proxy_ajp模块 |
|
可以去 /usr/local/apache/modules/ 看下生成了对应mod_proxy.so,mod_proxy_balancer.so,mod_proxy_http.so,mod_proxy_ajp.so的包,
三:配置httpd.conf,设置权重和session严格复制等
| 代码如下 | 复制代码 |
|
LoadModule proxy_module modules/mod_proxy.so |
|
配置说明:
1,平衡算法,由byrequests变成bytraffic
2,由平均分配变成非平均分配
另一个虚拟主机配置:
| 代码如下 | 复制代码 |
|
|
|
apache 反向代理出现内网ip解决方法
apache中设置如下反向代理后端的tomcat出现request.getServerName();获取到的主机名称就会是localhost,解决这个
| 代码如下 | 复制代码 |
|
ServerAdmin [email protected] DocumentRoot /usr/local/apache/htdocs ServerName i5a6.com ServerAlias *.i5a6.com DirectoryIndex index.html index.html.var index.jsp ProxyPass / http://l*oc*al*host:8080/ ProxyPassReverse / http://l*oc*al*host:8080/ ErrorLog "logs/hscode-error.log" CustomLog "logs/hscode-access.log" common |
|
在httpd.conf 文件中增加:ProxyPreserveHost On 即可
对应的nginx 也有此问题解决之法:
| 代码如下 | 复制代码 |
|
proxy_set_header Host $host; upstream mytomcat{ |
|
TPLink TLWDR4320 无线路由器IP带宽控制功能分配带宽设置方法
SQL Server 2008及更高版本数据库恢复做法之日志尾部备份实用指南
TPLink TLWDR4320 无线路由器控制管控小孩上网行为设置
TPLink TLWDR4320 无线路由器打印服务器设置指南
TPLink TLWDR8620 52 无线路由器当作交换机使用教程
TPLink TLWDR8620 52 无线路由器映射服务器到外网操作方法