nginx+tomcat搭建集群及服务器间的数据共享

时间:2024-05-19 20:49:58

下载nginx和tomcat,笔者这里是在windows环境

一.nginx搭建tomcat集群

1.nginx直接双击nginx.exe运行,同时打开浏览器输入localhost,显示如下界面即表示安装成功。

nginx+tomcat搭建集群及服务器间的数据共享

2.复制tomcat,一个命名为tomcat1,另一个为tomcat2.并为两个tomcat分别配置环境变量

然后修改tomcat配置文件,打开conf下的server.xml。修改如下四处配置,确保两个tomcat之间端口不会冲突。

nginx+tomcat搭建集群及服务器间的数据共享

 nginx+tomcat搭建集群及服务器间的数据共享

 nginx+tomcat搭建集群及服务器间的数据共享

 nginx+tomcat搭建集群及服务器间的数据共享

 3.进入tomcat下webapps的ROOT目录中index.jsp。

<h1>${pageContext.servletContext.serverInfo} tomcat1</h1>

将tomcat1,tomcat2分别添加在此代码后面(方便后面查看tomcat1和tomcat2的运行情况)。

4.运行tomcat1,tomcat2.查看两个服务器是否不冲突正常运行

5.打开ginx中conf中nginx.conf配置文件,并添加如下两处代码

nginx+tomcat搭建集群及服务器间的数据共享

 注:weight代表服务器的权重,即承担的服务次数比重。

6.运行cmd,将目录切换到nginx下,nginx -s reload 命令重启nginx服务,在浏览器中输入localhost,此时可能显示如下错误页面:

nginx+tomcat搭建集群及服务器间的数据共享

 400 Bad Request是一种HTTP错误状态码。HTTP/1.1对400 Bad Request的定义主要是:1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。2、请求参数有误。

解决此问题办法为:在nginx的nginx.conf配置文件中添加一段代码,如下图:

nginx+tomcat搭建集群及服务器间的数据共享

 7.重启nginx,刷新页面,结果如图:

nginx+tomcat搭建集群及服务器间的数据共享

 nginx+tomcat搭建集群及服务器间的数据共享

 此时,nginx搭建tomcat的任务就算完成了。

 二.实现服务器之间的数据共享

1.打开eclipse,创建一个web项目,在WebRoot下创建一个index.jsp页面。添加如下代码

nginx+tomcat搭建集群及服务器间的数据共享

 2.在d盘(其他盘也一样)创建一个文件夹myApp.找到web项目源码,将WebRoot下所有内容拷贝到myApp中。

 3.分别在在tomcat的conf/Catalina/localhost下创建ROOT.xml(ROOT.xml为tomcat服务器的默认入口),并在其中添加如下代码:

<?xml version="1.0" encoding="UTF-8"?>

<Context docBase="D:\myApp"/>

4.重启tomcat,nginx。刷新页面。显示如下

nginx+tomcat搭建集群及服务器间的数据共享
 nginx+tomcat搭建集群及服务器间的数据共享

可以看到,此时tomcat之间并没有实现数据共享。

5.此时需在nginx的配置文件nginx.conf中添加一行代码即可实现共享,即

nginx+tomcat搭建集群及服务器间的数据共享

再次刷新页面,发现session.id不再变化,即实现了服务器间的数据共享。