您的位置:首页 > 理论基础 > 计算机网络

↑基于httpd反向代理tomcat集群商城的部署↑

2013-10-06 21:19 831 查看
基于httpd反向代理tomcat集群实现和web站点的部署-----------------------------------------------------------------------------------------
实验环境:centos-6.4
使用的安装包:
apache-tomcat-7.0.42.tar.gz
jdk-7u9-linux-x64.rpm
shopxx-a5-Beta.zip
三个节点ip地址:
node1:172.16.8.10 | 192.168.100.254
node2:192.168.100.1
node3:192.168.100.2 192
node2和node3网关都指向192.168.100.254
-----------------------------------------------------------------------------------------
node1节点设置为apache服务器
1.配置httpd代理模块在conf.d目录下新建如下文件:
[root@yulong conf.d]# vim mod_proxy_tomcat.conf
添加如下内容代理到后端tomcat服务器
ProxyRequests Off
关闭正向代理的功能
proxyVia  on
用于控制在http首部是否使用Via
ProxyPreservehost off
用户请求报文中的Host
<Proxy balancer://lbcluster1> 要代理到后端的服务器
BalancerMember  http://192.168.100.1:80 loadfactor=1
BalancerMember  http://192.168.100.2:80 loadfactor=2
ProxySet  lbmethod=byrequests  调度算法
</Proxy>
<Location /lbmanager>这段用于mod_proxy状态信息的输出
SetHandler balancer-manager
Proxypass !
Order Deny,Allow
Allow from all
</Location>
下面这段用于负载均衡集群时调度算法
ProxyPass / balancer://lbcluster1/
#stickysession=jsessionid
ProxyPassReverse / balancer://lbcluster1/
<Proxy *>这段是访问规则权限
Order Allow,Deny
Allow From  all
</Proxy>
<Location  / >
Order Allow,Deny
Allow From all
</Location>
node2配置为tomcat服务器
1.先安装tomcat依赖的JDK
[root@yulong ~]# rpm  -ivh  jdk-7u9-linux-x64.rpm
2.设置java的环境变量
[root@yulong jdk1.7.0_09]# vim   /etc/profile.d/java.sh
export   JAVA_HOME=/usr/java/latest
export   PATH=$JAVA_HOME/bin:$PATH
3.查看java是否配置正确
[root@yulong jdk1.7.0_09]# java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
能看到上述内容说明就没有问题
4.接下来解压安装tomcat并设置tomcat环境变量
[root@yulong ~]# tar  -xf   apache-tomcat-7.0.42.tar.gz  -C /usr/local/
[root@yulong local]# ln -sv  apache-tomcat-7.0.42  tomcat
[root@yulong local]# vim /etc/profile.d/tomcat.sh
export    CATALINA_HOME=/usr/local/tomcat
export    PATH=$CATALINA_HOME/bin:$PATH
5.编辑tomcat的主配置文件,修改和添加以下内容
[root@yulong conf]# vim server.xml
<Connector port="80" protocol="HTTP/1.1"
端口修改为80,可以自己定义端口号
在Engine模块中添加如下内容:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.101.50"#这里可以自己修改
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="192.168.100.1"  本机的IP地址
port="4000"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
以上内容定义在Engine容器中,则表示对所有主机均启动用集群功能
6.解压应用程序到默认tomcat访问的目录下:
[root@yulong ~]# unzip  shopxx-a5-Beta.zip
[root@yulong shopxx-v3.0-Beta]# cd shopxx-3.0Beta/
[root@yulong shopxx-3.0Beta]# cp  ./*   /usr/local/tomcat/webapps/shopxx  -r
7.编辑配置文件添加如下字段,实现分布式储存
[root@yulong shopxx]# vim  /usr/local/tomcat/webapps/shopxx/WEB-INF/web.xml
<distributable />
8.node2和node1上述的配置是相同的这里就不在配置,只需要修改下集群的ip地址为node2的ip地址即可
9.安装mysql数据库,这里是直接rpm安装的,可以自己定义安装方式
[root@yulong tomcat]# yum install  mysql-server  -y
10.授权一个程序的mysql用户
mysql> grant all on  shopxx.* to  'shop'@'%' identified by 'mypass';
11.启动两个节点的tomcat服务和前端httpd服务器
node2上启动tomcat服务
[root@yulong ~]# catalina.sh  start
node3上启动tomcat服务
[root@yulong ~]# catalina.sh  start
启动前端apache服务
[root@yulong ~]# service httpd start
12.访问前端服务器的地址172.16.8.10/shopxx会有一个安装界面,很简单,这里就不在配置,安装完成以后就可以访问了
13.查看node1和node2端口是否正常启动:
tcp  0  0 :::80                       LISTEN    11604/java
tcp  0  0 ::ffff:192.168.100.1:4000   LISTEN    11604/java
tcp  0  0 ::ffff:127.0.0.1:8005       LISTEN    11604/java
tcp  0  0 :::8009                     LISTEN    11604/java
14.访问主页看看是否实现分布式session共享



15.注册登录也是没有问题的,自己搭建的web购物站点搞定



16.到此上述分布式集群session会话共享已经实现
本文出自 “linux” 博客,请务必保留此出处http://gyulong.blog.51cto.com/6844383/1305233
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: