https://github.com/v5tech/apache2-tomcat7-cluster
Apache、Tomcat7集群session共享及负载均衡
https://github.com/v5tech/apache2-tomcat7-cluster
apache2-tomcat7-cluster tomcat-cluster
Last synced: 6 months ago
JSON representation
Apache、Tomcat7集群session共享及负载均衡
- Host: GitHub
- URL: https://github.com/v5tech/apache2-tomcat7-cluster
- Owner: v5tech
- Created: 2016-01-14T10:20:37.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-03-21T06:44:20.000Z (almost 10 years ago)
- Last Synced: 2025-04-29T22:58:34.259Z (9 months ago)
- Topics: apache2-tomcat7-cluster, tomcat-cluster
- Language: ApacheConf
- Size: 171 KB
- Stars: 8
- Watchers: 1
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# apache2-tomcat7-cluster
Apache、Tomcat7集群session共享及负载均衡
# 1. 使用mod_jk方式
> 环境:httpd-2.4.18-win64+tomcat-7.0.X+mod_jk-1.2.41-win64
### 1.1 windows下Apache下载及安装
https://www.apachelounge.com/download/
* 下载httpd-2.4.18-win64
https://www.apachelounge.com/download/VC14/binaries/httpd-2.4.18-win64-VC14.zip
* 下载安装 vc_redist_x64/86.exe
https://www.microsoft.com/en-us/download/details.aspx?id=49984
* 下载mod_jk-1.2.41
https://www.apachelounge.com/download/VC14/modules/mod_jk-1.2.41-win64-VC14.zip
### 1.2 安装Apache为系统服务
* 安装服务
```bash
httpd.exe -k install -n "Apache2.4" -f "C:\Apache24\conf\httpd.conf"
```
* 卸载服务
```bash
httpd.exe -k uninstall -n "Apache2.4"
```
参考文章:https://httpd.apache.org/docs/2.4/platform/windows.html#winsvc
### 1.3 Apache+mod_jk整合配置
* 拷贝mod_jk.so到C:\Apache24\modules目录
* 编辑C:\Apache24\conf\httpd.conf
在文件末尾添加
```
Include conf/mod_jk.conf
```
* 创建C:\Apache24\conf\mod_jk.conf
```
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JKLogLevel info
JKLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JKOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JKRequestLogFormat "%w %V %T %q %U %R"
JKMount /* loadbalancer
JkMount /jkmanager/* jkstatus
JkMount jkstatus
Order deny,allow
Deny from all
Allow from 127.0.0.1
```
* 创建C:\Apache24\conf\workers.properties
```
worker.list=tomcat1,tomcat2,loadbalancer,jkstatus
# tomcat1
# tomcat的server.xml文件中AJP/1.3协议的端口号,默认是8009
worker.tomcat1.port=8009
worker.tomcat1.host=192.168.0.201
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1 #负载均衡权重值(1-100)
# 其他配置参数
# worker.tomcat1.cachesize=100
# worker.tomcat1.cachesize_timeout=600
# worker.tomcat1.reclycle_timeout=300
# worker.tomcat1.socket_keepalive=1
# worker.tomcat1.socket_timeout=300
# worker.tomcat1.local_worker=1
# worker.tomcat1.retries=3
# tomcat2
# tomcat的server.xml文件中AJP/1.3协议的端口号
worker.tomcat2.port=9009
worker.tomcat2.host=192.168.0.201
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1 #负载均衡权重值(1-100)
# load balancer worker
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=tomcat1,tomcat2
worker.loadbalancer.sticky_session=false
worker.loadbalancer.sticky_session_force=true
# Add the status worker to the worker list
worker.jkstatus.type=status
```
### 1.4 配置tomcat/conf/server.xml文件
* tomcat1
```xml
```
* tomcat2
```xml
```
### 1.5 在web.xml的``中添加``
### 1.6 查看集群状态
http://127.0.0.1/jkmanager/
### 1.7 参考文章
https://httpd.apache.org/docs/2.4/platform/windows.html#winsvc
https://zybuluo.com/Fancy-Bai/note/118782
https://zybuluo.com/Fancy-Bai/note/118883
http://xiexiaojun.blog.51cto.com/2305291/1717850
http://blog.csdn.net/chaijunkun/article/details/6987443
http://my.oschina.net/heartdong/blog/98416
# 2. 使用mod_proxy方式
### 2.1 修改Apache配置文件(Apache24\conf\httpd.conf),加载以下模块
```
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModule status_module modules/mod_status.so
```
### 2.2 配置(Apache24\conf\httpd.conf)
* 使用mod_proxy_http
```
ProxyPass "/" "balancer://httpproxy/" stickysession=JSESSIONID|jsessionid nofailover=On
BalancerMember "http://127.0.0.1:8080/" loadfactor=1
BalancerMember "http://127.0.0.1:9080/" loadfactor=1
ProxySet lbmethod=byrequests
SetHandler balancer-manager
Allow from 127.0.0.1
```
* 使用mod_proxy_ajp
```
ProxyPass "/" "balancer://ajpproxy/"
BalancerMember "ajp://127.0.0.1:8009/" loadfactor=1 route=tomcat1
BalancerMember "ajp://127.0.0.1:9009/" loadfactor=1 route=tomcat2
SetHandler balancer-manager
Allow from 127.0.0.1
```
### 2.3 修改tomcat/conf/server.xml
tomcat1
```xml
```
tomcat2
```xml
```
### 2.4 查看balancer-manager
http://127.0.0.1/balancer-manager