Nginx+Tomcat+Memcached集群实践

本文详细介绍了使用Nginx、Tomcat和Memcached搭建集群的过程,包括多实例Tomcat的配置、Nginx和Memcached的部署、相关jar包的下载与配置,以及最终的集群效果验证。

工作之余,考虑到实际项目存在集群的需要,为此以Nginx+Tomcat+Memcached的集群方式进行实践。


 

本次实践主要从以下几个步骤实施:

一、同台电脑多台Tomcat服务器的准备(本次实践以一台电脑为基础环境);

二、Nginx部署

三、Memcached的安装部署

四、Tomcat相关jar包的下载

五、对应配置文件的修改(Tomcat、Nginx)

六、Tomcat(测试案例)、Nginx、Memcached启动

七、对实际测试案例进行调用查看

 


一、多台Tomcat服务器的准备

1、tomcat文件进行多份复制,可分别命名为 tomcat1和tomcat2(本次tomcat版本为7.0.62

2、对tomcat1和tomcat2中的server.xml进行调整,调整内容主要是三处端口和一处添加:

#将默认8005更改为8006、8007
<Server port="8005" shutdown="SHUTDOWN">

#将默认8080更改为8090、8100
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

#将默认8009更改为8010、8011
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

#分别添加jvmRoute="tomcatRoute1"和jvmRoute="tomcatRoute2" 方便后期session测试
<Engine name="Catalina" defaultHost="localhost" >

3、修改好之后,分别运行tomcat1和tomcat2查看是否运行正常。

 


二、Nginx部署

1、下载nginx安装包(本次安装版本为nginx-1.8.0),解压缩到固定目录(本次解压缩在D:\nginx-1.8.0\)

2、启动Nginx:先进入D:\nginx-1.8.0\目录,cmd命令行执行:start nginx.exe,弹出屏会一闪而逝

3、检验nginx运行情况,cmd命令行执行tasklist /fi "imagename eq nginx.exe",可查看到以下图示结果:

083714_lmdd_610163.png

4、在浏览器输入http://localhost,可以看到Nginx的欢迎页。

083754_N6cf_610163.png

5、检验成功后,关闭nginx,cmd命令行执行nginx.exe -s stop.

6、nginx基础环境完成,配置下一步进行。

 

 


三、memcached安装

1、下载memcached安装包,本次测试选择的是memcached-1.2.6-win32-bin.zip

2、解压到调试目录下面,本次选择压缩在D盘,D:\memcached

3、输入安装命令memcached.exe –d install

4、输入执行命令memcached -d start

5、执行任务查询命令tasklist /fi "imagename eq memcached.exe",查看memcached是否运行正常。

085603_KrzL_610163.png

6、memcached的默认端口为11211,也可通过执行命令来查询netstat -ano|findstr "8056"

085909_sD34_610163.png

7、memcached的安装工作基本完成。

 

接下来,就是针对jar的添加以及配置的调整。

 


四、jar包的版本选择和下载

1、根据实际环境进行jar的匹配选择,本次选择的jar包主要包括:

090253_N98y_610163.png

2、重点是memcached-session-manager-1.8.3.jar和memcached-session-manager-tc7-1.8.3.jar的选择,要根据实际环境的tomcat版本号相匹配

3、将所下载的jar包复制到tomcat的lib目录,记住是两个tomcat!

 

 


五、tomcat配置修改

1、进入tomcat的conf目录,打开content.xml文件进行修改

2、修改内容为(新增):

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--<Manager pathname="" />
    -->
    <!-- ---------------------------以下部分为新增内容--------------------------- -->
    <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
        memcachedNodes="n1:127.0.0.1:11211"
        sticky="false"
        requestUriIgnorePattern=".*\.(png|gif|jpg|css|js|ico|jpeg)$"
        sessionBackupAsync="false"
        sessionBackupTimeout="100"
        transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/>
    <!-- ---------------------------以上部分为新增内容--------------------------- -->

3、分别运行tomcat1和tomcat2,查看运行是否正常

4、本次tomcat运行的案例是实际生产项目,端口分别localhost:8090和localhost:8010,运行效果如下:

092755_8de7_610163.png

 


六、Nginx配置修改

1、进入nginx的conf目录,打开nginx.conf文件进行修改

2、修改内容为(新增和调整):

    #----------------以下为新增---------------
    upstream localhost {
        #ip_hash;
	    server 127.0.0.1:8090 weight=1;
        server 127.0.0.1:8100 weight=1;
    }
    #----------------以上为新增---------------

    #----------------以下为内容调整------------
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
	        root   html;
            index  index.html index.htm;
	        #请求转向mysvr 定义的服务器列表
            proxy_pass    http://localhost;
            proxy_redirect default;
	        proxy_connect_timeout 5;
	    }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        #----------------以上为内容调整--------------
    }

3、nginx.conf文件修改中,主要添加和修改的内容必须处于http {}内,不然会出现以下的error log提示

"upstream" directive is not allowed here in D:\nginx-1.8.0/conf/nginx.conf:

4、修改完配置后,在nginx目录的命令行下执行start nginx.exe再执行tasklist|findstr "nginx.exe"

5、查看执行情况如下:

092411_Y0zU_610163.png

6、在浏览器打开localhost/shanhong,查看集群是否成功

093054_mjsF_610163.png

 


七,集群效果验证

1、输入账号、密码登陆进入后,查看session情况如下:

093304_WWGi_610163.png

2、第一次打开选择n1.tomcatRoute1,调用tomcat1

3、再次打开localhost/shanhong/,登陆进入后,再次查看session情况如下:

094958_84fR_610163.png

4、根据之前配置的集群分配方式,分别调用tomcat1和tomcat2

5、关闭tomcat1或者tomcat2,仍可继续访问

 


至此,本次采用Nginx+Tomcat+Memcached实现集群的方式部署成功。

 


如有需要本次调试中所需要的jar,请本文下方留email。

转载于:https://my.oschina.net/u/610163/blog/512705

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值