搭建Nginx + Memcached + Tomcat 集群记录

jopen 4年前

一:环境

Nginx

Memcached(memcached-1.2.6-win32-bin)

Tomcat7


二:Memcached配置

1、 Memcached的安装

将安装包memcached-1.2.6-win32-bin解压到X:/目录下面,重命名为memcached。

打开命令提示符,进入X: /memcached的目录,输入安装命令“memcached.exe –d install”,安装memcached的windows服务,

然后输入“memcached -d start”,以后memcached将作为windows的一个服务每次开机时自动启动。

默认端口:11211。

下面插入介绍一些memcached的常用命名,也是最基本的命令,

(1) 查看memcached的服务是否已经启动:tasklist /fi "imagename eq memcached.exe"

(2) memcached参数使用介绍

-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

例如:C:\memcached\memcached.exe -h


三:tomcat配置

1.添加tomcat

解压并复制Tomcat,分别为apache-tomcat-7.0.55-01和apache-tomcat-7.0.55-02


2.添加.所需jar包

如下列表:

memcached-session-manager-1.6.1,

memcached-session-manager-tc7-1.6.1(因为Tomcat版本为7.0)

javolution-5.4.3.1,

msm-javolution-serializer-1.6.1(准备使用javolution序列化方式)

spymemcached-2.7.3(依赖包)

添加以上jar到tomcat lib中


2.Tomcat的配置安装

修改server.xml文件,同时添加HTTPS支持和Tomcat双开的配置

搭建Nginx + Memcached + Tomcat 集群记录

搭建Nginx + Memcached + Tomcat 集群记录

搭建Nginx + Memcached + Tomcat 集群记录

搭建Nginx + Memcached + Tomcat 集群记录

修改文件Tomcat/conf/context.xml,在Context标签中加入如下代码:

搭建Nginx + Memcached + Tomcat 集群记录

   <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"        memcachedNodes="n1:localhost:11211"         requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"        sessionBackupAsync="false"        sessionBackupTimeout="100"        transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"         copyCollectionsForSerialization="false"/>

3.启动Tomcat的测试


四:Nginx的安装和配置

1、Nginx的安装

将安装包nginx-1.3.0.zip解压到X:/目录

启动Nginx:进入X:/nginx目录,执行命令:start nginx.exe,弹出屏会一闪而逝。

接着输入tasklist /fi "imagename eq nginx.exe",出现如下内容,表示nginx已正常启动啦!

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

更多Nginx常用命令:

停止Nginx:nginx.exe -s stop|quit

重启Nginx:nginx.exe -s reload

查看Nginx版本:nginx.exe -v


修改文件$NGINX_HOME/conf/nginx.conf。 

#设定负载均衡的服务器列表

 upstream tomcat_server{      server localhost:18080 weight=1;#第一台机器      server localhost:28080 weight=1;#第二台机器  }
server {      listen 8080;      server_name localhost;      #charset koi8-r;      #access_log logs/host.access.log main;      location / {          root html;          index index.html index.htm;          proxy_pass http://tomcat_server;       }  }

以上部分是需要在nginx.conf中的http {}

proxy_pass表示代理主机

upstream tomcat_server{……}配置中配置了代理主机处理请求的两个服务。 

上述配置表示:Nginx监听到http://locahost:8080的请求之后,转发到代理tomcat_server中的两个服务中的一个,有它们来处理请求。weight表示被分配到权重,weight值越大,处理请求的机会越多。

至此,Nginx的安装与配置结束。 


 五:测试

测试代码放入tomcat1,2下test/index.jsp中,启动各个服务 

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>    <html>    <body>        SessionID:<%=session.getId()%>    <BR>    SessionIP:<%=request.getServerName()%>    <BR>    SessionPort:<%=request.getServerPort()%>    <%    out.println("apache-tomcat-7.0.55-02");    %>        <%=(String)session.getAttribute("user")%>    </body>    </html>

结果

搭建Nginx + Memcached + Tomcat 集群记录

搭建Nginx + Memcached + Tomcat 集群记录

来自:http://my.oschina.net/huangcongcong/blog/520576