redis集群配置bind ip_Nginx+Redis+Tomcat实现session共享

概述

本文档基于Nginx+Redis+Tomcat实现session共享和负载均衡。

负载均衡(Load Balance),是分布式系统中一个非常重要的概念。当访问的服务具有多个实例节点时,需要根据某种“均衡”的策略决定请求发往哪个节点,这个过程就是所谓的负载均衡。多在高并发情况下需要使用。其原理就是将数据流量分摊到多个服务器执行,减轻每台服务器的压力,多台服务器(集群)共同完成工作任务,从而提高了数据的吞吐量。

Nginx是一个轻量级、高性能、稳定性高、并发性好的HTTP和反向代理服务器。反向代理对象为服务端做代理,使客户端不需要感知服务端的存在,只需要访问代理服务器便可获得想要的结果。实现限流、负载均衡、动静分离等。

Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串、链表、集合和有序集合。支持在服务器端计算集合的并、交和补集等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。

原理

将session数据集中存储,然后不同Web服务器从同样的地方获取Session。

Redis安装、部署

3.1Redis概述

Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串、链表、集合和有序集合。支持在服务器端计算集合的并、交和补集等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。

3.2Redis下载地址

(如果已有安装包,将安装包放到相关目录下)

Radis安装目录/usr/local/

[root@bogon ~]# cd /usr/local/

[root@bogon local]# wget http://download.redis.io/releases/redis-5.0.5.tar.gz

3.3解压缩

[root@bogon local]# tar -zxvf redis-5.0.5.tar.gz

3.4编译、安装

[root@bogon local]# cd redis-5.0.5

[root@bogon redis-5.0.5]# make

[root@bogon redis-5.0.5]# make install

3.5修改Redis目录下redis.conf配置文件

[root@bogon redis-5.0.5]# vi redis.conf

Insert

#69行,修改bind,bind 127.0.0.1表示只能本机使用

bind 0.0.0.0

#92行,修改默认端口,查找 port 6379 修改为相应端口即可

port 6379

#113行,当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能。

timeout 300

#136行,redis将以守护进程的方式运行,默认为no会暂用你的终端,yes支持后台启动方式

daemonize yes

#507行,修改默认密码,查找 requirepass foobared将foobared修改为你的密码

requirepass 1234qwer

3.6启动Redis

/usr/local/bin/redis-server /usr/local/redis-5.0.5/redis.conf

3.7停止Redis

进程号杀掉关闭redis:kill -9 pid

命令方式关闭redis

[root@bogon ~]# cd /usr/local/redis-5.0.5/src

[root@bogon src]# redis-cli -h 127.0.0.1 -p 6379

127.0.0.1:6379> info

NOAUTH Authentication required

127.0.0.1:6379> auth 1234qwer

OK

127.0.0.1:6379> shutdown [NOSAVE|SAVE]

not connected> exit

3.8将Redis加入开机启动

vi /etc/rc.local

#在里面添加内容:

/usr/local/bin/redis-server /usr/local/redis-5.0.5/redis.conf

3.9检查是否启动成功

[root@bogon ~]# ps -ef|grep redis

3.10卸载Redis

rm -rf /usr/local/redis-5.0.5//删除redis解压文件夹

rm -rf /usr/bin/redis-* //删除所有redis相关命令脚本

rm -rf /usr/local/redis-5.0.5.tar.gz //删除redis安装包

Nginx安装、部署

4.1Nginx概述

负载均衡(Load Balance),是分布式系统中一个非常重要的概念。当访问的服务具有多个实例节点时,需要根据某种“均衡”的策略决定请求发往哪个节点,这个过程就是所谓的负载均衡。多在高并发情况下需要使用。其原理就是将数据流量分摊到多个服务器执行,减轻每台服务器的压力,多台服务器(集群)共同完成工作任务,从而提高了数据的吞吐量。Nginx是一个轻量级、高性能、稳定性高、并发性好的HTTP和反向代理服务器。

反向代理:代理对象为服务端做代理,使客户端不需要感知服务端的存在,只需要访问代理服务器便可获得想要的结果。实现限流、负载均衡、动静分离等。

4.2所需依赖包

yum install gcc-c++

yum install pcre pcre-devel

yum install zlib zlib-devel

yum install openssl openssl--devel

4.3Nginx下载地址

(如果已有安装包,将安装包放到相关目录下)

Nginx安装目录/usr/local/

[root@bogon ~]# cd /usr/local/

[root@bogon local]# wget http://nginx.org/download/nginx-1.9.9.tar.gz

4.4解压缩

[root@bogon local]# tar -zxvf nginx-1.9.9.tar.gz

4.5编译、安装

[root@bogon local]# cd nginx-1.9.9

#默认安装在/usr/local/nginx

# --prefix=<path>:Nginx安装的根路径

[root@bogon nginx-1.9.9]#./configure --prefix=/usr/local/nginx

[root@bogon nginx-1.9.9]# make

[root@bogon nginx-1.9.9]# make install

4.6修改Nginx目录下nginx.conf配置文件

[root@bogon nginx-1.9.9]# cd conf

[root@bogon conf]# vi nginx.conf

基于ip_hash实现session:

upstream server {

ip_hash;

server 192.168.200.129:80; #第一台负载的ip及端口

server 192.168.200.131:80; #第二台负载的ip及端口

}

server {

listen 80;

server_name localhost;

location / {

proxy_pass http://server;

proxy_redirect default;

}

}

4.7Nginx命令

#启动

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

#停止

关闭进程方式:

kill -9 pid

命令行方式:

/usr/local/nginx/sbin/nginx -s stop

#重新载入配置文件

/usr/local/nginx/sbin/nginx -s reload

4.8将Nginx加入开机启动

vi /etc/rc.local

#在里面添加内容:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

4.9检查是否启动成功

[root@bogon conf]# ps -ef|grep nginx

root 13651 1 0 12:07 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

nobody 13652 13651 0 12:07 ? 00:00:00 nginx: worker process

4.10卸载Nginx

rm -rf /usr/local/nginx-1.9.9 //删除nginx解压文件夹

rm -rf /usr/local/nginx-1.9.9.tar.gz //删除nginx安装包

Tomcat配置文件修改

Tomcat版本:8.0.50.0

JVM Version:1.7.0_80-b15

修改tomcat/conf/context.xml配置文件增加Valve,Manager配置。

在<Context>标签下 新增以下内容

<Valve className="com.naritech.nicole.gump.RedisSessionHandlerValve" />

<Manager className="com.naritech.nicole.gump.RedisSessionManager"

host="127.0.0.1"//Redis所在服务器地址

port="6379"

password="1234qwer"

database="0"

maxInactiveInterval="60"

/>

Tomcat下引入相关jar包

commons-pool2-2.3.jar

jedis-2.7.3.jar

tomcat-redis-session-manager-master-2.0.0.jar

将以上3个jar包拷贝到tomcat的相关目录,如下:

/usr/local/tomcat/lib

启动顺序

先启动redis,然后启动tomcat,最后启动nginx。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值