Nginx + Tomcat6配置负载均衡
1. 安装Nginx和Tomcat,这里假定nginx-0.7.65,Tomcat6.x。(Nginx可以从http://nginx.org/en/download.html下载)
安装Nginx
# ./configure
# make
# make install
在这里假定Nginx安装在nginxhost,tomcat分别安装在tomcathost1和tomcathost2上;
2. 修改/usr/local/nginx/conf/nginx.conf文件,
3. 确定nginxhost和两台tomcathost可以互访,并且两个tomcat机器在一个网段内;
4. 确定两台tomcat host多播已经打开,在Linux机器上可以使用cat /proc/net/dev_mcast检查,如果文件存在基本上就是打开了;另外确定两台tomcat机器的/etc/hosts文件中包含“xxx.xxx.xxx.xxx hostname”比如“172.17.1.101 tomcathost1”或“172.17.1.102 tomcathost2”;
5. 修改两个tomcat的conf/server.xml文件,对Engine节点分别添加jvmRoute="tomcat1"和jvmRoute="tomcat2",并添加以下内容:
6. 创建一个web app,这里为了简单使用tomcat自带的examples web app(webapps/examples),修改其中的WEB-INF/web.xml文件,在其中<display-name>Servlet and JSP Examples</display-name>节点后添加<distributable/>表明此应用与集群服务器复制Session;
7. 在两个Tomcat的webapps/examples目录下各创建一个test.jsp文件,用来测试Cluster中两个Tomcat的Session复制,代码如下:
8. 启动Tomcat和Nginx,访问http://nginxhost/examples/,可以修改其中Session中的值,并且可以看到两个tomcat的Session中的值是一样的;
参考资料:
http://nginx.org/en
http://wiki.nginx.org/Main