设为首页 收藏本站
查看: 735|回复: 0

[经验分享] Tomcat与Apache或Nginx的集群负载均衡设置及Sersync同步应用

[复制链接]

尚未签到

发表于 2018-11-24 14:37:54 | 显示全部楼层 |阅读模式
  一、系统环境设置:
1、准备三台RedHat linux 5或 CentOS服务器:(1)负载均衡服务器:Apache安装自带的web发布服务(httpd服务) IP地址:192.168.0.100(2)Tomcat发布服务器1:安装有两个发布服务tomcat1和tomcat2IP地址:192.168.0.101(3)Tomcat发布服务器2:安装有两个发布服务tomcat3和tomcat4IP地址:192.168.0.102 2、统一对外部发布的地址是:http://192.168.0.100(即负载均衡地址) 3、在设定完成IP以后,最好先设置主机名和IP的对应关系:# vi /etc/hosts修改如下:----> 192.168.0.100web.example.comweb127.0.0.1localhost.localdomainlocalhost::1localhost6.localdomain6localhost6 二、Tomcat发布器的安装1、JDK软件最新版下载:http://www.Oracle.com/technetwork/java/javase/downloads/index.html(1)点击排列的最左边一个大图标的“JDK”进入,(2)接下来选择服务器的版本(如linux),在“I agree”前面方框中打勾选中,再按“continue”下一步(3)选择下面一个版本进行下载,如jdk-6u24-linux-i586.bin(4)下载完成后上传到web服务器上的“/tools”目录下(自己建的目录) 2、JDK软件的安装:(1)可先查看当前JDK的版本是多少:# java –version (2)进入下载目录,授权JDK文件的可执行权限:# cd /tools/# chmod a+x jdk-6u24-linux-i586.bin (3)执行JDK的安装解压缩,完成后按回车结束:# ./jdk-6u24-linux-i586.bin (4)把解压出来的目录移动到/usr/local下面# mv jdk1.6.0_24 /usr/local/ 3、配置JAVA的环境变量:(1)新建环境变量文件java.sh# cd /etc/profile.d/# vi java.sh---> 添加下面的内容:#set java environmentJAVA_HOME=/usr/local/jdk1.6.0_24CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarPATH=$JAVA_HOME/bin:$PATHexport JAVA_HOME CLASSPATH PATH (2)给java.sh授可执行的权限:# chmod a+x java.sh (3)重新登录终端,再次查询java的版本号是否升级了:# java -version 4、Tomcat软件最新版下载:http://tomcat.apache.org/(1)先选择Download下面的tomcat版本(如tomcat 7.0)(2)再点击“Core”下面的“tar.gz”进行下载,如apache-tomcat-7.0.12.tar.gz(3)下载完成后上传到web服务器上的“/tools”目录下(自己建的目录) 5、Tomcat软件的安装(1)进入下载目录,进行解压缩:# cd /tools# tar zxvfapache-tomcat-7.0.12.tar.gz (2)复制并重命名目录到/usr/lcoal下面# ls -l# cp apache-tomcat-7.0.12 /usr/local/tomcat1(web1服务器)# cp apache-tomcat-7.0.12 /usr/local/tomcat2(web1服务器) # cp apache-tomcat-7.0.12 /usr/local/tomcat3(web2服务器)# cp apache-tomcat-7.0.12 /usr/local/tomcat4(web2服务器) (3)配置tomcat发布器的端口:(web1服务器tomcat1)# cd tomcat1/conf# vi server.xml(修改如下四个地方:)----> 1) 这边的“8005”改为“8001”端口2)  这边的“8080”发布端口改为“81”端口3)  这边的改为“8011”端口4)  修改增加为如下: (web1服务器tomcat2)# cd tomcat2/conf/# vi server.xml(修改如下四个地方:)----> 1) 这边的“8005”改为“8002”端口2)  这边的“8080”发布端口改为“82”端口3)  这边的改为“8012”端口4)  修改增加为如下: (web2服务器tomcat3)# cd tomcat3/conf/# vi server.xml(修改如下四个地方:)----> 1) 这边的“8005”改为“8003”端口2)  这边的“8080”发布端口改为“83”端口3)  这边的改为“8013”端口4)  修改增加为如下:  (web1服务器tomcat4)# cd tomcat4/conf/# vi server.xml(修改如下三个地方:)----> 1) 这边的“8005”改为“8004”端口2)  这边的“8080”发布端口改为“84”端口3)  这边的改为“8014”端口4)  修改增加为如下:  (4)在tomcat的server.xml配置参数据中增加session同步复制的设置:# vi server.xml(增加下列代码,增加到上面4)后面的cluster中去) (下面的代码是实现session复制功能)expireSessionsOnShutdown="false"notifyListenersOnReplication="true"mapSendOptions="6"/>address="228.0.0.4"port="45564"frequency="500"dropTime="3000"/>address="192.168.100.63"port="5000"selectorTimeout="100" /> filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/> (5)同时需要修改tomcat的web.xml配置参数才能真正实现session同步复制的设置:# vi web.xmlindex.htmlindex.htmindex.jsp (在倒数第二行增加这个代码才能实现session同步复制功能) 6、设置Tomcat发布服务开机自启动(1)复制tomcat启动文件到开机目录下:# cp tomcat1/bin/catalina.sh/etc/rc.d/init.d/tomcat1 (2)修改上面的tomcat1启动文件:# cd /etc/rc.d/init.d# vim tomcat1(在文件的最顶上添加下列几行)---> #chkconfig:35 85 15#description:tomcat1 serverCATALINA_HOME=/usr/local/tomcat1JRE_HOME=/usr/local/jdk1.6.0_24 (3)添加tomcat1到开机启动服务:# chkconfig--add tomcat1# chkconfig--list tomcat1# chkconfigtomcat1on# service tomcat1 start(4)其它三个tomcat2 、tomcat3 、tomcat4 也都按上面三步来做 (5)如何查看tomcat的启动过程显示(类似于windows下面的启动DOS窗口显示)方法一:启动时用catalina.sh来启动,命令 # ./catalina.sh run方法二:如果用./startup.sh启动的话,查看启动日志 # tail –f /usr/local/tomcat4/logs/catalina.out三、Apache Proxy负载均衡发布器的安装配置:1、Apache发布器使用系统自带的httpd服务,在安装操作系统的时候先选择好服务器下面的web服务器组件。2、修改配置web发布服务的参数文件:# cd /etc/httpd/conf/# vim httpd.conf (在最底下添加如下内容)----> ServerName localhost:80(发布的端口说明)ServerAdmin admin@china1168.comServerName localhostServerAlias localhost(“testcluster”可自己命名,没什么特别的意义)BalancerMember ajp://192.168.0.101:8011 loadfactor=1 route=tomcat1 (要与tomcat1中的ajp对应)BalancerMember ajp://192.168.0.101:8012 loadfactor=1 route=tomcat2(要与tomcat2中的ajp对应)BalancerMember ajp://192.168.0.102:8013 loadfactor=1 route=tomcat3(要与tomcat3中的ajp对应)BalancerMember ajp://192.168.0.104:8014 loadfactor=1 route=tomcat4(要与tomcat4中的ajp对应)ProxyRequests OffProxyPass /server-status !ProxyPass /balancer-manager !ProxyPass / balancer://testcluster/stickysession=JSESSIONID (注意balancer前面有空格)ProxyPa***everse / balancer://testcluster/(注意balancer前面有空格)(负载均衡服务器的状态查询,http://192.168.0.100/server-status)SetHandler server-status (负载均衡服务器的管理查看,http://192.168.0.100/balancer-manager)SetHandler balancer-manager 3、负载均衡集群测试实例:(1)在tomcat目录下面的webapps文件夹中新建test测试文件:# mkdir webapps/test# vi index.jsp(文件内容如下)?Cluster App TestServer Info:String dataName = request.getParameter("dataName");if (dataName != null && dataName.length() > 0) {String dataValue = request.getParameter("dataValue");session.setAttribute(dataName, dataValue);}out.print("Session 列表");Enumeration e = session.getAttributeNames();while (e.hasMoreElements()) {String name = (String)e.nextElement();String value = session.getAttribute(name).toString();out.println( name + " = " + value+"");System.out.println( name + " = " + value);}%>名称:值: (2)对Apache负载均衡进行测试: 登录测试首页: http://192.168.0.100/test/index.jsp 登录管理界面:http://192.168.0.100/balancer-manager可查看“Elected”的选中状态 登录状态界面:http://192.168.0.100/server-status 同时查看各个tomcat的日志文件,看看上面提交的测试内容是在哪个tomcat中显示出来# tail -f /usr/local/tomcat1/logs/catalina.out# tail -f /usr/local/tomcat2/logs/catalina.out# tail -f /usr/local/tomcat3/logs/catalina.out# tail -f /usr/local/tomcat4/logs/catalina.out正常情况下,提交的测试内容会在四个tomcat之间轮循显示,实现负载均衡。 4、设置Apache发布服务开机自启动# chkconfig httpd on  四、Nginx负载均衡发布器的安装配置:1、安装前必须要先下载相关联的配套软件包:(1) pcre套件包下载:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ (一定要先安装)(2) nginx最新版下载:http://www.nginx.org/en/download.html(一定要安装)(3) openssl套件包下载:http://www.openssl.org/source/(可选安装) 2、相关联软件的安装(1)pcre套件的安装,进入下载目录,进行解压缩:# cd /tools# tar zxvfpcre-8.12.tar.gz# cd pcre-8.12# ./configure(默认是安装在/usr/local/目录下面,也可指定目录加参数 --prefix=/usr/local/)# make && make install(进行make编译并安装) (2)openssl套件的安装,进入下载目录,进行解压缩:(可选)# cd /tools# tar zxvfopenssl-1.0.0d.tar.gz# cd openssl-1.0.0d# ./configure(默认是安装在/usr/local/目录下面,也可指定目录加参数 --prefix=/usr/local/)# make && make install(进行make编译并安装)3、Nginx软件的安装和配置(1)nginx套件的安装,进入下载目录,进行解压缩:# cd /tools# tar zxvfnginx-1.0.0.tar.gz# cd nginx-1.0.0# ./configure(默认是安装在/usr/local/目录下面,也可指定目录加参数 --prefix=/usr/local/)# make && make install(进行make编译并安装) (2)测试安装是否成功:# cd /usr/local/nginx/sbin/# ./nginx -t(如果提示下面的ok和successful成功的话,说明安装成功了)nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful (3)进行负载均衡站点的配置:# cd /usr/local/nginx/conf/# vi nginx.conf(修改增加下面的内容)#pidlogs/nginx.pid;------- 在第9行左右,去掉前面的“#”注释号 (新增)upstream tomcat {------- 负载均衡站点的名称为tomcat,可以自己取ip_hash;(可选,根据来源IP方式选择web服务器,省略的话按默认的轮循方式选择web服务器)server 192.168.0.101:81;------- web服务器的IP地址及tomcat1发布端口server 192.168.0.101:82;------- web服务器的IP地址及tomcat2发布端口server 192.168.0.102:83;------- web服务器的IP地址及tomcat3发布端口server 192.168.0.102:84;------- web服务器的IP地址及tomcat4发布端口}server {listen80;------- 本机负载均衡的发布端口80server_namelocalhost;------- 本机服务器名称 location / {roothtml;indexindex.html index.htm;(新增) proxy_pass http://tomcat;------- 负载均衡指向的发布服务tomcat}注意:“upstream”部分要放在“server { listen80” 这部分的前面,不能放到下面去,不然会出错“proxy_pass”部分要放在localtion这部分的括号里面,且http://后面跟的名称要与上面upstream中一样 (4)启动负载均衡服务:# cd /usr/local/nginx/sbin/# ./nginx-t(测试配置有无错误)# ./nginx(启动服务) # netstat -tlnp | grep :80(查看nginx端口的进程号)# kill -9 11274(杀死nginx的主进程,11274是上面查询出来的主进程号,实际环境中不一定一样)(5)在线修改配置参数(在nginx启动的情况),并让它重新加载,其间nginx不用停止服务。# vi nginx.conf# kill -HUP`cat /usr/local/nginx/logs/nginx.pid`(注意cat命令两边必须要有撇号,不是单引号) (6)设置Nginx开机自动启动:# cd /etc/rc.d/init.d/ # vi nginx----> 增加内容#chkconfig:35 80 10#description:Nginx server/usr/local/nginx/sbin/nginx # chmod a+x nginx(授予可执行的权限)# chkconfig --add nginx# chkconfig nginx on  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-639120-1-1.html 上篇帖子: cacit下apache模版安装和使用 下篇帖子: apache.commons工具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表