您的位置:首页 > 运维架构 > Tomcat

Tomcat与Apache或Nginx的集群负载均衡设置及Sersync同步应用(2)

2012-11-13 10:09 831 查看
三、Apache Proxy负载均衡发布器的安装配置:[/b]
1、Apache发布器使用系统自带的httpd服务,在安装操作系统的时候先选择好服务器下面的web服务器组件。
2、修改配置web发布服务的参数文件:
# cd /etc/httpd/conf/
# vim httpd.conf (在最底下添加如下内容)
[align=left]----> ServerName localhost:80 (发布的端口说明)[/align]
<VirtualHost *:80>
ServerAdmin admin@china1168.com
ServerName localhost
ServerAlias localhost
<proxy[/b] balancer://testcluster[/b]> (“testcluster[/b]”可自己命名,没什么特别的意义)BalancerMember ajp[/b]://192.168.0.101:8011[/b] loadfactor=1 route=tomcat1 [/b](要与tomcat1[/b]中的ajp[/b]对应)BalancerMember ajp[/b]://192.168.0.101:8012[/b] loadfactor=1 route=tomcat2[/b](要与tomcat2[/b]中的ajp[/b]对应)BalancerMember ajp[/b]://192.168.0.102:8013[/b] loadfactor=1 route=tomcat3[/b](要与tomcat3[/b]中的ajp[/b]对应)BalancerMember ajp[/b]://192.168.0.104:8014[/b] loadfactor=1 route=tomcat4[/b](要与tomcat4[/b]中的ajp[/b]对应)
</proxy>
ProxyRequests[/b] Off
ProxyPass[/b] /server-status !
ProxyPass[/b] /balancer-manager !
ProxyPass[/b] / balancer://testcluster[/b]/ stickysession=JSESSIONID (注意balancer前面有空格[/b])
ProxyPassReverse[/b] / balancer://testcluster[/b]/ (注意balancer前面有空格[/b])
</VirtualHost>
<Location /server-status> (负载均衡服务器的状态查询,http://192.168.0.100/server-status[/b])
SetHandler server-status
</Location>
<Location /balancer-manager> (负载均衡服务器的管理查看,http://192.168.0.100/balancer-manager[/b])
SetHandler balancer-manager
</Location>

3、负载均衡集群测试实例:
(1)在tomcat目录下面的webapps文件夹中新建test测试文件:
# mkdir webapps/test
# vi index.jsp[/b] (文件内容如下)
[align=left]?<%@ page contentType="text/html; charset=UTF-8" %>[/align]
[align=left]<%@ page import="java.util.*" %>[/align]
[align=left]<html><head><title>Cluster App Test</title></head>[/align]
[align=left]<body>[/align]
[align=left]Server Info:[/align]
[align=left]<%[/align]
[align=left]request.setCharacterEncoding("UTF-8"); [/align]
[align=left]out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>[/align]
[align=left]<%[/align]
[align=left] out.println("<br> ID " + session.getId()+"<br>"); // 如果有新的 Session 属性设置[/align]
[align=left] String dataName = request.getParameter("dataName");[/align]
[align=left] if (dataName != null && dataName.length() > 0) {[/align]
[align=left] String dataValue = request.getParameter("dataValue");[/align]
[align=left] session.setAttribute(dataName, dataValue);[/align]
[align=left] } out.print("<b>Session 列表</b>"); Enumeration e = session.getAttributeNames();[/align]
[align=left] while (e.hasMoreElements()) {[/align]
[align=left] String name = (String)e.nextElement();[/align]
[align=left] String value = session.getAttribute(name).toString();[/align]
[align=left] out.println( name + " = " + value+"<br>");[/align]
[align=left] System.out.println( name + " = " + value);[/align]
[align=left] }[/align]
[align=left]%>[/align]
[align=left] <form action="index.jsp[/b]" method="POST">[/align]
[align=left] 名称:<input type=text size=20 name="dataName">[/align]
[align=left] <br>[/align]
[align=left] 值:<input type=text size=20 name="dataValue">[/align]
[align=left] <br>[/align]
[align=left] <input type=submit>[/align]
[align=left] </form>[/align]
[align=left]</body>[/align]
[align=left]</html>[/align]

(2)对Apache负载均衡进行测试:

登录测试首页[/b]: http://192.168.0.100/test/index.jsp[/b] [/b]
登录管理界面:[/b]http://192.168.0.100/balancer-manager[/b] 可查看“Elected[/b]”的选中状态[/b]
[/b]
登录状态界面:[/b]http://192.168.0.100/server-status[/b]
[/b]
同时查看各个tomcat的日志文件[/b],看看上面提交的测试内容是在哪个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之间轮循[/b]显示,实现负载均衡。

4、设置Apache发布服务开机自启动
# chkconfig httpd on

四、Nginx负载均衡发布器的安装配置:[/b]
1、安装前必须要先下载相关联[/b]的配套软件包:
(1) pcre[/b]套件包下载: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ ([/b]一定要先安装)[/b]
(2) nginx[/b]最新版下载: http://www.nginx.org/en/download.html (一定要安装)
(3) openssl[/b]套件包下载:http://www.openssl.org/source/ (可选安装)

2、相关联软件的安装
(1)pcre[/b]套件的安装,进入下载目录,进行解压缩:
# cd /tools
# tar zxvf pcre-8.12.tar.gz[/b]
# cd pcre-8.12
# ./configure[/b] [/b] (默认是安装在/usr/local/目录下面,也可指定目录加参数 --prefix=/usr/local/)
# make && make install[/b] (进行make编译并安装)
[/b]
(2)openssl[/b]套件的安装,进入下载目录,进行解压缩:(可选[/b])
# cd /tools
# tar zxvf openssl-1.0.0d.tar.gz[/b]
# cd openssl-1.0.0d
# ./configure[/b] [/b] (默认是安装在/usr/local/目录下面,也可指定目录加参数 --prefix=/usr/local/)
# make && make install[/b] (进行make编译并安装)
3、Nginx软件的安装和配置
(1)nginx[/b]套件的安装,进入下载目录,进行解压缩:
# cd /tools
# tar zxvf nginx-1.0.0.tar.gz[/b]
# cd nginx-1.0.0
# ./configure[/b] [/b] (默认是安装在/usr/local/目录下面,也可指定目录加参数 --prefix=/usr/local/)
# make && make install[/b] (进行make编译[/b]并安装)

(2)测试安装是否成功:
# cd /usr/local/nginx/sbin/[/b]
# ./nginx [/b]-t [/b] (如果提示下面的ok和successful成功的话,说明安装成功了)
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok[/b]
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[/b]
[/b]
(3)进行负载均衡站点的配置:
# cd /usr/local/nginx/conf/[/b]
[/b]# vi nginx.conf [/b](修改增加下面的内容)
#pid logs/nginx.pid; ------- 在第9行左右,去掉前面的“#”注释号

(新增)[/b]upstream tomcat [/b]{ ------- 负载均衡站点的名称为tomcat[/b],可以自己取
ip_hash; ([/b]可选,根据来源IP方式选择web服务器,省略的话按默认的轮循方式选择web服务器)[/b] [/b]
server 192.168.0.101:81; ------- web服务器的IP地址及tomcat1[/b]发布端口
server 192.168.0.101:82; ------- web服务器的IP地址及tomcat2发布端口
server 192.168.0.102:83; ------- web服务器的IP地址及tomcat3[/b]发布端口
server 192.168.0.102:84; ------- web服务器的IP地址及tomcat4发布端口
}
server {
listen 80[/b]; ------- 本机负载均衡的发布端口80
server_name localhost; ------- 本机服务器名称

location / {
root html;
index index.html index.htm;
[align=left](新增) [/b]proxy_pass http://tomcat[/b]; ------- 负载均衡指向的发布服务tomcat [/align]
}
注意:“upstream”部分要放在“server { listen 80” 这部分的[/b]前面[/b],不能放到下面去,不然会出错[/b]
[/b]“[/b]proxy_pass[/b]”部分要放在localtion这部分的[/b]括号里面[/b],且http://后面跟的名称要与上面upstream中一样[/b]

(4)启动负载均衡服务:
# cd /usr/local/nginx/sbin/[/b]
# ./nginx -t [/b](测试配置有无错误)[/b]
# ./nginx [/b](启动服务)[/b]

# netstat -tlnp | grep :80[/b] (查看nginx端口的进程号)
# kill -9 [/b]11274 (杀死nginx的主进程,11274是上面查询出来的主进程号,实际环境中不一定一样)
(5)在线修改配置参数(在nginx启动的情况),并让它重新加载[/b],其间nginx不用停止服务[/b]。
# vi nginx.conf
# kill -HUP[/b] [/b]`[/b]cat /usr/local/nginx/logs/nginx.pid[/b]`[/b](注意cat命令两边必须要有撇号,不是单引号)[/b]

(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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  apache tomcat nginx
相关文章推荐