Nginx+Memcached+Tomcat集群配置
1. Nginx
Nginx是通过将多个Web Server绑定到同一个IP地址下,以实现多个WebServer间的负载均衡,降低单个Web Server的负荷,以提高整体的性能与稳定性。
安装和配置Nginx的简单方式如下:
1) 下载并解压Nginx到本地目录:http://nginx.org/en/download.html
2) 对Nginx的配置主要是对它的配置文件/conf/nginx.conf的修改。如下链接是nginx.conf配置文件各个属性的详细说明:
http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.html
要利用nginx配置Web Server的负载均衡,需要修改的地方有:
a) 在http标签下,配置upstream属性,如:
- upstream mysvr {
- #weigth参数表示权值,权值越高被分配到的几率越大
- server 192.168.8.1x:3128 weight=5;
- server 192.168.8.2x:80 weight=1;
- server 192.168.8.3x:80 weight=6;
- }
其中,weight是可选项;若不配置weight,则默认所有的Web Server具有相同的权重。
b) 在http标签下的server标签中,做适当的修改,如:
- server {
- listen 83;
- server_name localhost;
- location / {
- root /root;
- index index.jsp;
- proxy_pass http:// mysvr;
- proxy_set_header Host $host:83;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- }
- ……
- }
其中需要说明的是,server_name和listen分别设置的是用户访问的地址和端口;proxy_pass指定转向的服务器列表(在upstream中定义);proxy_set_header Host设置跳转的http报文中的地址为proxy_pass中指定的地址,同时可以在此处指定端口号,若不指定,则默认会跳到80端口。
其它一些需要设置的属性请参见上述链接中的详细介绍。
3) 配置完成后,在控制台中进入Nginx的根目录,运行nginx或nginx –s start则可启动Nginx服务器,运行nginx –s stop或nginx –s quit可关闭Nginx(不可使用Ctrl+C强制结束)。
2. Memcached
Memcached是一个key-value映射的缓存系统。在WebApplication中可以利用Memcached完成一些频繁访问对象的缓存。而在分布式的Web Server集群中,由于需要保证各个单独的Web Server中的Session相一致,因此需要利用Memcached来支持。
这里需要使用一个开源项目,即Memcached Session Manager(MSM),如下链接是该开源项目的官网:
http://code.google.com/p/memcached-session-manager/
如下链接是官方的安装和配置向导:
http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration
利用MSM对已经通过Nginx实现集群的Tomcat服务器组进行统一Session存储管理的简单方法如下:
1) 下载、安装、运行Memcached:
Linux版:http://memcached.org/
Windows版:http://code.jellycan.com/memcached/
2) 下载所需的jar包并放置到Tomcat的lib路径下:
a) memcached-session-manager-${version}.jar,基础包
b) memcached-session-manager-tc6-${version}.jar(针对Tomcat 6)或者memcached-session-manager-tc7-${version}.jar(针对Tomcat 7),服务器支持包
c) spymemcached-2.8.12.jar和couchbase-client-1.1.4.jar,缓存支持包
d) msm-javolution-serializer.jar和javolution-5.4.3.1.jar,序列化支持包
3) 在Tomcat的/conf/context.xml文件中,在根标签<context>下添加如下代码:
- <ManagerclassNameManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"
- memcachedNodes="${tag}:localhost:11211"
- requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"
- sessionBackupAsync="false"
- sessionBackupTimeout="100"
- transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
- copyCollectionsForSerialization="false"/>
其中${tag}可以替换成任意字符串,作为该WebServer的标记
4) 完成上述配置后,启动Tomcat,若无错误则表示配置成功。通过HttpSession的getId方法获取到session id时,可以看到在id的最后有上述的标记
转载:http://blog.csdn.net/sadfishsc/article/details/9151083
转载于:https://www.cnblogs.com/peijie-tech/p/3849420.html
Nginx+Memcached+Tomcat集群配置相关推荐
- Nginx+Memcached+Tomcat集群配置实践(Sticky Session)
准备工作 创建一个简单的web应用,名为session.其中有两个页面,分别如下所示: 页面login.jsp [html] view plaincopy <%@ page language=& ...
- 配置集群Nginx+Memcached+Tomcat集群配置
上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下配置集群 1. Nginx Nginx是通过将多个Web Server绑定到同一个IP地址下,以实现多个WebS ...
- Windows7 + Nginx + Memcached + Tomcat 集群 session 共享
一,环境说明 操作系统是Windows7家庭版(有点不专业哦,呵呵!),JDK是1.6的版本, Tomcat是apache-tomcat-6.0.35-windows-x86,下载链接:http:// ...
- Nginx以及通过Nginx实现tomcat集群配置与负载均衡
Nginx简介 启动,停止,和重新加载配置文件命令 Nginx功能 正向代理和反向代理的区别 反向代理 负载均衡 1.RR(默认) 2.权重 3.ip_hash 4.fair(第三方) 5.url_h ...
- Nginx SSL+tomcat集群配置SSL,ngnix配置SSL后js/css访问出现404
最近在做一个项目, 架构上使用了 Nginx +tomcat 集群, 且nginx下配置了SSL,tomcat no SSL,项目使用https协议 但是,明明是https url请求,发现 log里 ...
- nginx+双tomcat集群负载均衡(一台机器)
nginx简介 Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor ...
- linux环境下通过nginx实现tomcat集群
2019独角兽企业重金招聘Python工程师标准>>> linux环境下通过nginx实现tomcat集群 安装nginx之前需要pcre依赖和jvm-remote补丁 一.准备如下 ...
- window xp Apache与Tomcat集群配置--转载
转载地址:http://www.cnblogs.com/obullxl/archive/2011/06/09/apache-tomcat-cluster-config.html 一. 环境说明 Win ...
- 大数据互联网架构 tomcat集群配置时三个端口的作用
tomcat集群配置时三个端口的作用 在配置多个tomcat时需要同时配置这三个端口 Connector用于监听请求 protocol: http/1.1协议 , 用于监听浏览器发送的请求 , 设置成 ...
- Apache + Tomcat集群配置详解(1)
Apache + Tomcat集群配置详解(1) 一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl ...
最新文章
- 关于页面有多个验证控件和多个按钮的问题
- sublime快捷键
- elasticsearch源码分析之search模块(server端)
- 【管理】舍KPI取OKR,Google的管理方法
- Dubbo 注解驱动(Annotation-Driven)
- c语言操作空间怎么打开_学好C语言,离大神更近一步,C环境的安装
- Sql 行转列问题总结
- dev分支和master是什么_天天用Git,分支开发你怎么弄的?
- SharePoint 2013 workflow cannot start automatically when you logged in site as a system account
- 如何在Linux kernel Makefile中添加宏定义
- Linux 如何通过命令仅获取IP地址
- python经典程序实例-Python3经典100例(③)
- 智能优化算法:原子搜索优化算法 -附代码
- Hello!CDSN!
- 【模仿学习】南京大学港中文联合总结: 29页中文详述模仿学习完整过程
- fits文件读取代码
- mysql查询结果数量_sql语句统计查询结果数量怎么写?
- win10 java模拟鼠标_[pc玩家]如何在Windows10中用键盘控制鼠标光标
- 计算机二级程序设计提交,程序设计方法与风格(计算机二级复习指导)
- 嵌入式C语言学习笔记附图