nginx+tomact+memcached(缓存)集群

关于Nginx+tomcat+memcached(缓存)配置集群负载均衡的下载与安装流程:

实现的整体步骤

一:安装memcached。(memcached可以一个或者多个)

二:安装两个tomcat

三:配置msm。

四:安装nginx,实现负载均衡。

以下是详细步骤:

第一步:安装memcached

1.       下载memcached服务端memcached-1.2.6-win32-bin.zip,地址:csdn

第二步:安装tomcat

1.       安装两个tomcat6,如果不在myEclipse等集成环境下,需要先安装JDK.注意修改两个

tomcat的端口号(server.xml中要修改三个端口:8005,8080,8009,把这三个改成没有在用的端口就可以了)。

2.       启动tomcat看是否能成功启动。如果不能启动成功,很可能就是端口冲突。

第三步:配置msm:

1,先下载msm及其依赖包

[url] http://memcached-session-manager.googlecode.com/files/memcached-session-manager-1.3.0.jar [/url]

[url] http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-jodatime-1.3.0.jar[/url]

[url] http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-cglib-1.3.0.jar [/url]

[url] http://spymemcached.googlecode.com/files/memcached-2.4.2.jar [/url]

[url] http://memcached-session-manager.googlecode.com/files/javolution-5.4.3.1.jar [/url]

2,将这5个包放到$TOMCAT_HOME/lib目录下

3,修改$TOMCAT_HOME/conf/context.xml

Xml代码

<Context docBase="d:/apache-tomcat-6.0.30/webapps" path="" reloadable="true" >

<Manager   className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

memcachedNodes="n1:localhost:11211,n2:localhost:11211"

requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"

sessionBackupAsync="false"

sessionBackupTimeout="100"

transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"

copyCollectionsForSerialization="false"

/>

</Context>

这里的memcachedNodes是填写memcached节点,多个节点时可以以空隔分开,如:

n1:localhost:11211 n2:localhost:11211,

memcached所在服务器ip,11211是memcached默认端口号。

sessionBackupTimeout的单位为分钟

d:/apache-tomcat-6.0.30/webapps替换成tomact的webaapps目录

修改后重启两个TOMCAT即可,这个时候已经解决SESSION的共享问题.

第四步:安装nginx,实现负载均衡

一、1.nginx:是一款轻量级的Web 服务器/反向代理服务器。其特点是占有内存少,并发能力强。

作用:Nginx是通过将多个Web Server绑定到同一个IP地址下,以实现多个WebServer间的

负载均衡,降低单个Web Server的负荷,以提高整体的性能与稳定性。

2.nginx的安装与运行:

cd nginx的安装目录

cd nginx-1.4.6

start nginx

这样,nginx 服务就启动了(也可以直接双击打开)。打开任务管理器,查看 nginx.exe 进程,有二个进程会显示,占用系统资源,那是相当的少。

然后再打开浏览器,输入就可以看到nginx的欢迎页面了

nginx -s stop          // 停止nginx

nginx -s reload       // 重新加载配置文件

nginx -s quit          // 退出nginx

3.nginx.conf文件需要修改的配置:

#user  nobody;

#启动进程,通常设置成和cpu的数量相等

worker_processes  2;

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {

#单个后台worker process进程的最大并发链接数

worker_connections  2048;

}

http {

include       mime.types;

default_type  application/octet-stream;

#log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘

#                  ‘$status $body_bytes_sent "$http_referer" ‘

#                  ‘"$http_user_agent" "$http_x_forwarded_for"‘;

#access_log  logs/access.log  main;

sendfile        on;

#tcp_nopush     on;

#连接超时时间

#keepalive_timeout  0;

keepalive_timeout  185;

#gzip  on;

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

upstream mysvr {

#weigth参数表示权值,权值越高被分配到的几率越大

server ip1:8080 weight=6;

server ip2:8080 weight=5;

}

server {

listen       80;

server_name  localhost;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {

proxy_pass http://mysvr;

index  index.html index.htm index.jsp;

proxy_set_header   Host             $host;

proxy_set_header   X-Real-IP        $remote_addr;

proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

proxy_connect_timeout       1;       #nginx跟后端服务器连接超时时间(代理连接超时)

proxy_read_timeout          30;       #后端服务器数据回传时间(代理发送超时)

proxy_send_timeout          60;    #连接成功后,后端服务器响应时间(代理接收超时)

}

其余配置不需要更改,详见nginx.conf文件。

注意:

1. 如果nginx请求中断,报upstream timed out,修改以下参数。

proxy_read_timeout          30;       #后端服务器数据回传时间(代理发送超时)

proxy_send_timeout          60;    #连接成功后,后端服务器响应时间(代理接收超时)

keepalive-timeout选项

此选项说的是可使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,keepalive-timeout功能可避免建立或重新建立连接。

2.   jar版本,系统版本window7   32位。

nginx+tomact+memcached(缓存)集群

时间: 2024-10-24 03:54:19

nginx+tomact+memcached(缓存)集群的相关文章

Memcached缓存集群_创建多实例

1.首先在在服务端增加两个缓存实例,如192.168.120.101:11214和192.168.120.102:11215,空间分配可按实际需求定. 2.JAVA客户端导入 下载地址:http://files.cnblogs.com/files/zhougaojun/MemClient.zip 3.缓存集群配置:memcached11212.xml <?xml version="1.0" encoding="UTF-8"?> <memcached

Nginx+tomcat+memcached解决集群的session问题

Tomcat集群session同步方案有以下几种方式: · 使用tomcat自带的cluster方式,多个tomcat间自动实时复制session信息,配置起来很简单.但这个方案的效率比较低,在大并发下表现并不好.原理:http://zyycaesar.iteye.com/blog/296606 · 利用nginx的基于访问ip的hash路由策略,保证访问的ip始终被路由到同一个tomcat上,这个配置更简单.但如果应用是某一个局域网大量用户同时登录,这样负载均衡就没什么作用了. · 利用ngi

Nginx+Tomcat+Memcached 实现集群部署时Session共享

一.简介 我们系统经常要保存用户登录信息,有Cookie和Session机制,Cookie客户端保存用户信息,Session在服务端保存用户信息,如果浏览器不支持Cookie或者用户把Cookie禁掉了,Cookie就用不了,还有不同的浏览器采用不用方式保存Cookie,所以我们采用Session服务端来保存,上一节我们有介绍了Tomcat集群部署,怎么样集群的Tomcat对同个用户请求的都能获取保存在Session的用户信息,采用了Memcached管理Session,Memcached 是一

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配置文件各个属性的详细说明:

nginx+memcached+tomcat集群 session共享完整版

nginx+memcached+tomcat集群 session共享完整版 集群环境 1.nginx版本 nginx-1.6.2.tar.gz 2.jdk 版本 jdk-7u21-linux-x64.tar.gz 3.tomcat 版本  7.0.29 4.memcached 版本 memcached-1.4.22.tar.gz 5. CentOS 6.5 系统采用一台服务做测试 一.nginx安装 安装依赖包 yum -y install gcc gcc-c++ 1.安装pcre库 tar z

LVS+Keepalived+Squid+Nginx+MySQL主从 高性能集群架构配置

原文地址:LVS+Keepalived+Squid+Nginx+MySQL主从 高性能集群架构配置 作者:gron 原文链接:http://www.linuxidc.com/Linux/2012-07/65547.htm 架构图 先进行优化 vi /etc/sysctl.conf   # 编辑sysctl.conf文件添加以下内容 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 65536 4194304 net.c

LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案

方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor=50 worker.tomcat.cachesize=10 worker.tomcat.cache_timeout=600 worker.tomcat.socket_keepalive=1 worker.tomcat.socket_timeout=300 Linux内核优化: vi /etc/sysctl.conf   # 编辑sysctl.conf文件添加以下内容net.

windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)

本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,由标题就能看出此内容不是一篇分享文章能说完的,所以我打算分几篇分享文章来讲解,一步一步实现分布式架构:下面将先给出整个架构的核心节点简介,希望各位多多点赞: . 架构设计图展示 . nginx+iis构建服务集群 . redis存储分布式共享的session及共享session运作流程 . redis主从配置及Sentinel管理多个Redis集群 . 定时框架Task.MainForm提

Redis缓存集群方案

由于单台Redis服务器的内存管理能力有限,使用过大内存的Redis又会使得服务器的性能急剧下降,一旦服务器发生故障将会影响更大范围业务,而Redis 3.0 beta1支持的集群功能还不适合生产环境的使用.于是为了获取更好的Redis缓存性能及可用性,很多公司都研发了Redis缓存集群方案.现对NetFlix.Twitter.国内的豌豆荚在缓存集群方面的解决方案进行一个汇总,以供读者参考,具体内容如下: 1.NetFlix对Dynamo的开源通用实现Dynomite Dynomite是NetF