使用Nginx配置tomcat集群和实现Session共享

一、安装和配置Tomcat:

直接将下载后的Tomcat解压在本地磁盘:解压两个分别命名为tomcat1和tomcat2.

这里为了方便,我使用的是tomcat6.0做的实验,其他版本的做法相同

分别完成如下配置:分别打开两个tomcat的conf下的server.xml

tomcat1配置如下:

<Server port="8005" shutdown="SHUTDOWN">
    <Connector port="8888" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

 

 tomcat2配置如下:
<Server port="8006" shutdown="SHUTDOWN">
    <Connector port="9999" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
 

二、  Nginx的安装和部署

   点击nginx.exe 后就可以安装成功了

访问localhost后输入如下就成功了


使用nginx中常用的命令如下:

start nginx 开启nginx服务器 

nginx -s reload  重启服务器

nginx -s stop 关闭服务器

Nginx的负载均衡的配置:


 

三、如何使得两个服务器共享一个项目

D:\tomcat1\conf\Catalina\localhost

 配置ROOT.xml

其中D:\myapplication我是项目的路径,这里通过配置虚拟目录来实现对项目的加载


然后将配置后的ROOT.xml放在D:\tomcat1\conf\Catalina\localhost下面

重新启动两个Tomcat 服务器和nginx服务器

但那时这个之后配置的服务器不能解决session共享的问题,所在需要打开server.xml中的Cluster

配置Tomcat中session的共享:

步骤一、修改server.xml文件,最简单的集群配置只需要将节点中注释掉的下面这句取消注释即可:


两台服务器都做同样的处理

步骤二、修改项目的web.xml文件:

 只要在这个文件中添加<distributable/>就可以了

两台服务器都做同样的处理

然后同样重启两台tomcat服务器和nginx服务器

从下面的结果可以看出session可以共享了



至此,实验完成

猜你喜欢

转载自blog.csdn.net/ddhsea/article/details/80239137