nginx-tomcat负载均衡redis-session共享,静态资源分离
2016-03-10 22:42
771 查看
基本环境:
redis-2.8
apache-tomcat-6.0.41
nginx1.6.2
1,redis配置
1,配置redis访问密码
到redis的目录下找的redis.conf,解开requirepass注释(此属性用于设置密码)。
如:
requirepass root
2,启动redis
到redis的目录以后台运行的方式启动redis
2,tomcat准备工作
commons-pool-1.6.jar
jedis-2.1.0.jar
tomcat-redis-session-manager-1.2-tomcat-6.jar
3,修改tomcat的context.xml配置
到tomcat的conf目录下找到context.xml配置文件,在标签下添加:
利用redis 进行session 共享
nginx-tomcat负载均衡redis-session共享,静态资源分离0
4,复制tomcat修改各个tomcat的端口
配置完了tomcat和redis共享的配置之后,我们就可以将此tomcat复制多份,然后修改tomcat的端口,如:
3,nginx配置
1,注释默认访问
在ngix的nginx/conf.d/下有个default.conf,将里面的listen 80 default_server改为:
2,在添加需要负载的应用服务器
在ngix的nginx/conf.d/的创建一个conf,如test.conf。在里面添加upstream pool配置段,将各个需要负载服务器的地址填到下面:
3,配置访问域名
继续在test.conf中添加:
4,配置静态资源访问
server {
listen 80;
server_name static.test.cn;
location /static {
root /home/workspace/server/apache-tomcat-6.0.41-8080/webapps/test;
}
location /media {
root /home/workspace/file;
}
}
5,修改请求体的大小
在http {}里增加 client_max_body_size属性,此属性会影响很多的地方,例如上传。
4,启动nginx和tomcat,测试
测试负载均衡:
启动nginx和所有tomcat,然后到网页登录,然后启动另一个tomcat,关闭上一个。查看是否还能访问。开启所有tomcat用工具发起大量请求,查看请求是否被分发到各个tomcat。
测试session共享:
启动nginx和一个tomcat,然后到网页登录,然后启动另一个tomcat,关闭上一个。查看是否还在登录状态。
redis-2.8
apache-tomcat-6.0.41
nginx1.6.2
1,redis配置
1,配置redis访问密码
到redis的目录下找的redis.conf,解开requirepass注释(此属性用于设置密码)。
如:
requirepass root
2,启动redis
到redis的目录以后台运行的方式启动redis
redis-server /root/redis-2.8.9/redis.conf &
2,tomcat准备工作
1,准备tomcat应用服务器 部署一个应用到tomcat,将里面的需要静态处理的文件,例如img,单独存放在一个文件夹下,如static下面。将用户产生的媒体文件存放到一个共用的目录下,如/data/media下。后面用nginx配置处理。 2,添加tomcat和redis做session共享的jar包 在tomcat自己的lib下添加session共享所需的jar包,需要注意tomcat的版本对应。
commons-pool-1.6.jar
jedis-2.1.0.jar
tomcat-redis-session-manager-1.2-tomcat-6.jar
3,修改tomcat的context.xml配置
到tomcat的conf目录下找到context.xml配置文件,在标签下添加:
利用redis 进行session 共享
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" /> <Manager className="com.radiadesign.catalina.session.RedisSessionManager" host="127.0.0.1" port="6379" password="root" database="0" maxInactiveInterval="3600"/> 提供的配置中默认没有password属性,我们可以查看tomcat-redis-session-manager-1.2-tomcat-6.jar的源码,可以在RedisSessionManager.class中找的password属性。
nginx-tomcat负载均衡redis-session共享,静态资源分离0
4,复制tomcat修改各个tomcat的端口
配置完了tomcat和redis共享的配置之后,我们就可以将此tomcat复制多份,然后修改tomcat的端口,如:
tomcat1:Server port="8005",Connector port="8080",ajp Connector port="8009" tomcat2:Server port="8006",Connector port="8081",ajp Connector port="8010" tomcat3:Server port="8007",Connector port="8082",ajp Connector port="8011"
3,nginx配置
1,注释默认访问
在ngix的nginx/conf.d/下有个default.conf,将里面的listen 80 default_server改为:
listen 80;
2,在添加需要负载的应用服务器
在ngix的nginx/conf.d/的创建一个conf,如test.conf。在里面添加upstream pool配置段,将各个需要负载服务器的地址填到下面:
upstream pool{ server 127.0.0.1:8080; server 127.0.0.1:8081; server 127.0.0.1:8082; }
3,配置访问域名
继续在test.conf中添加:
server { listen 80 default_server; server_name www.test.cn; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; location / { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_connect_timeout 3; proxy_send_timeout 30; proxy_read_timeout 30; proxy_pass http://pool; } error_page 500 502 503 504 /50x.html; location = /50x.html{ root /home/workspace/server/apache-tomcat-6.0.41-8080/webapps/test; } if ($host != 'www.test.cn' ){ rewrite ^/(.*)$ http://www.test.cn/$1 permanent; } }
4,配置静态资源访问
server {
listen 80;
server_name static.test.cn;
location /static {
root /home/workspace/server/apache-tomcat-6.0.41-8080/webapps/test;
}
location /media {
root /home/workspace/file;
}
}
5,修改请求体的大小
在http {}里增加 client_max_body_size属性,此属性会影响很多的地方,例如上传。
client_max_body_size 100m;
4,启动nginx和tomcat,测试
测试负载均衡:
启动nginx和所有tomcat,然后到网页登录,然后启动另一个tomcat,关闭上一个。查看是否还能访问。开启所有tomcat用工具发起大量请求,查看请求是否被分发到各个tomcat。
测试session共享:
启动nginx和一个tomcat,然后到网页登录,然后启动另一个tomcat,关闭上一个。查看是否还在登录状态。
相关文章推荐
- nginx代理指定目录
- 访问Nginx发生SSL connection error的一种情况
- Nginx+Naxsi部署专业级Web应用防火墙
- CentOS 6.2实战部署Nginx+MySQL+PHP
- nginx中http核心模块的配置指令2
- nginx中http核心模块的配置指令3
- nginx中http核心模块的配置指令4
- nginx中http的fastcgi模块的配置指令1
- 负载均衡技术沙龙1期(关于咱的图片)
- 负载均衡沙龙活动第二期现场问答汇集
- Nginx 学习笔记(一)
- 流量引导:网络世界的负载均衡解密
- 流量引导:网络世界的负载均衡解密
- 网站502与504错误分析
- 用zabbix监控nginx_status状态
- 艰难完成 nginx + puma 部署 rails 4的详细记录
- 把Lua编译进nginx步骤方法
- 浅谈sqlserver的负载均衡问题
- web 应用中常用的各种 cache详解