• UID19335
  • 登录2018-03-21
  • 粉丝0
  • 关注0
  • 发帖21
  • 主页
  • 金币64枚
社区居民
焕然一新 发布于2017-07-27 11:44
0/371

分布式缓存Redis Centos下单节点安装

楼层直达
摘要: Redis官网:http://redis.io  独立缓存服务器:IP:xxx.xxx.xxx.xxx 安装环境:CentOS 6.6 Redis 版本:redis-3.0 (因为 Redis3.0 在集群&#...


声明: 网上关于分布式缓存Redis的学习资料很多,大家可以去网上找些资料去学习。
另外 JEESZ框架面向企业的大型互联网分布式企业架构,分布式缓存是必不可少的,故这边总结了一些关于分布式缓存redis的实战文章作为后期JEESZ分布式框架的教程,希望也可以帮助到大家,请勿吐槽。
 
Redis官网:http://redis.io
独立缓存服务器:IP:xxx.xxx.xxx.xxx
安装环境:CentOS 6.6
Redis 版本:redis-3.0 (因为 Redis3.0 在集群和性能提升方面的特性,rc 版为正式版的候选版,请在安装时去官网选用最新版)
用户:root
安装目录:/usr/local/redis

下面我们针对于Redis安装做下详细的记录:
编译和安装所需的包:
# yum install gcc tcl

提醒:下载 3.0 版 Redis(当前最新版 redis-3.0.0-rc5.tar.gz,请在安装时去官网选用最新版)
# cd /usr/local/src
# wget https://github.com/antirez/redis/archive/3.0.0-rc5.tar.gz
提醒:此路径可以通过官网去下载目录copy

创建安装目录:
# mkdir /usr/local/redis

解压:
# tar -zxvf 3.0.0-rc5.tar.gz
# mv redis-3.0.0-rc5 redis3.0
# cd redis3.0

安装(使用 PREFIX 指定安装目录):
# make PREFIX=/usr/local/redis install
安装完成后,可以看到/usr/local/redis 目录下有一个 bin 目录,bin 目录里就是 redis 的命令脚本:
redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server

将 Redis 配置成服务:
按上面的操作步骤,Redis 的启动脚本为:/usr/local/src/redis3.0/utils/redis_init_script
将启动脚本复制到/etc/rc.d/init.d/目录下,并命名为 redis
# cp /usr/local/src/redis3.0/utils/redis_init_script /etc/rc.d/init.d/redis

编辑/etc/rc.d/init.d/redis,修改相应配置,使之能注册成为服务:
# vi /etc/rc.d/init.d/redis
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
case "$1" in
 start)
 if [ -f $PIDFILE ]
 then
 echo "$PIDFILE exists, process is already running or crashed"
 else
 echo "Starting Redis server..."
 $EXEC $CONF
 fi
 ;;
 stop)
 if [ ! -f $PIDFILE ]
 then
 echo "$PIDFILE does not exist, process is not running"
 else
 PID=$(cat $PIDFILE)
 echo "Stopping ..."
 $CLIEXEC -p $REDISPORT shutdown
 while [ -x /proc/${PID} ]
 do
 echo "Waiting for Redis to shutdown ..."
 sleep 1
 done
 echo "Redis stopped"
 fi
 ;;
 *)
 echo "Please use start or stop as first argument"
 ;;
esac
查看以上 redis 服务脚本,关注标为橙色的几个属性,做如下几个修改的准备:
(1) 在脚本的第一行后面添加一行内容如下:
     #chkconfig: 2345 80 90
    提醒:如果不添加上面的内容,在注册服务时会提示:service redis does not support chkconfig
(2) REDISPORT 端口保持 6379 不变;(特别注意:端口名将与下面的配置文件名有关)
(3) EXEC=/usr/local/bin/redis-server 改为 EXEC=/usr/local/redis/bin/redis-server
(4) CLIEXEC=/usr/local/bin/redis-cli 改为 CLIEXEC=/usr/local/redis/bin/redis-cli
(5) 配置文件设置:
创建 redis 配置文件目录
# mkdir /usr/local/redis/conf
复制 redis 配置文件/usr/local/src/redis3.0/redis.conf 到/usr/local/redis/conf 目录并按端口号重命名为6379.conf
# cp /usr/local/src/redis3.0/redis.conf /usr/local/redis/conf/6379.conf
做了以上准备后,再对 CONF 属性作如下调整:
CONF="/etc/redis/${REDISPORT}.conf" 改为 CONF="/usr/local/redis/conf/${REDISPORT}.conf"
(6) 更改 redis 开启的命令,以后台运行的方式执行:
$EXEC $CONF &   #“&”作用是将服务转到后面运行

修改后的/etc/rc.d/init.d/redis 服务脚本内容为:
#!/bin/sh
#chkconfig: 2345 80 90
#
# Simple Redis init.d script conceived to work on linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/conf/${REDISPORT}.conf"
case "$1" in
 start)
 if [ -f $PIDFILE ]
 then
 echo "$PIDFILE exists, process is already running or crashed"
 else
 echo "Starting Redis server..."
 $EXEC $CONF &
 fi
 ;;
 stop)
 if [ ! -f $PIDFILE ]
 then
 echo "$PIDFILE does not exist, process is not running"
 else
 PID=$(cat $PIDFILE)
 echo "Stopping ..."
 $CLIEXEC -p $REDISPORT shutdown
 while [ -x /proc/${PID} ]
 do
 echo "Waiting for Redis to shutdown ..."

 sleep 1
 done
 echo "Redis stopped"
 fi
 ;;
 *)
 echo "Please use start or stop as first argument"
 ;;
esac

以上配置操作完成后,便可将 Redis 注册成为服务:
# chkconfig --add redis

防火墙中打开对应的端口
# vi /etc/sysconfig/iptables
添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
重启防火墙:
# service iptables restart

修改 redis 配置文件设置:
# vi /usr/local/redis/conf/6379.conf
修改如下配置
daemonize no 改为 daemonize yes
备注:如果不改为yes,pid文件是不会生成,start、stop命令是不会生效的(依赖pid文件)
pidfile /var/run/redis.pid 改为 pidfile /var/run/redis_6379.pid

启动 Redis 服务
# service redis start

将 Redis 添加到环境变量中:
# vi /etc/profile
在最后添加以下内容:
## Redis env
export PATH=$PATH:/usr/local/redis/bin
使配置生效:
# source /etc/profile

当前可以直接使用 redis-cli 等 redis 命令了:
# redis-cli
关闭 Redis 服务
# service redis stop
提醒:默认情况下,Redis 开启安全认证,可以通过/usr/local/redis/conf/6379.conf 的 requirepass 指定一个
验证密码
欢迎大家一起学习研究相关技术
愿意了解框架技术或者源码的朋友直接求求交流分享技术:2042849237
更多详细源码参考来源:http://minglisoft.cn/technology
标签: Centos下单分布式缓存Redis, 节点安装, dubbo+springmvc+mybatis+ehcache+redis J2ee分布式架构, restful, kafka, shiro

0人打赏
您需要登录后才可以回帖
发表回复
极贡献
技术问答
专题荟萃
程序人生
视觉设计
Android开发
iOS开发
编程语言
前端开发
后端开发
服务器架构
软件测试
运维方案
创业路上



最热文章墙

  • 94166/383   【精品推荐】200多种Android动画效果的强悍框架,太全了,不看这个,再有动画的问题,不理你了^@^

  • 53228/191   情人节福利,程序员表白的正确姿势:改几行代码就变成自己的表白了

  • 49905/0   Python爬虫:常用浏览器的useragent

  • 48044/261   【精品推荐】Android版产品级的音乐播放器源码,功能太强大了,最好的产品原型有木有?

  • 44101/145   省时省力的Android组件群来了,非常棒的原型参考

  • 34906/143   2016抢红包软件及源码

  • 32449/71   原创表白APP,以程序员的姿势备战新年后的7夕,持续完善中!

  • 30513/2   超全!整理常用的iOS第三方资源

  • 29576/163   Android版类似UC浏览器:非常赞,产品级的源码

  • 24858/31   麻省理工的一帮疯子,真的实现了随意操控万物!(绝对黑科技)

  • 24590/27   2016程序员跳槽全攻略

  • 24453/26   Android工程师面试题大全

  • 23413/10   GitHub上排名前50的iOS项目:总有一款你用得着

  • 22658/21   码魂:程序员的牛B漫画

  • 22041/74   【持续更新中】Android福利贴(二):资料源码大放送

  • 21581/85   Android小而全的博客源码:非常适合全面掌握开发技巧

  • 21458/43   一个绚丽的loading动效分析与实现!

  • 20792/104   Android带弹幕的视频播放器源码,来自大名鼎鼎的Bilibili弹幕网站

  • 20223/82   仿京东商城客户端Android最新版,不错的原型和学习资料

  • 20099/10   2016年最全的Android面试考题+答案 精编版

  • 20042/3   吐槽那些程序员的搞笑牛逼注释

  • 19975/45   惊艳的App引导页:背景图片切换加各个页面动画效果

  • 19860/23   Android福利第三波【Android电子书】

  • 19413/81   【精品推荐】类似360安全卫士安Android源码:非常赞的产品原型

  • 19193/25   个人收集的Android 各类功能源代码

  • 19000/1   iOS中文版资源库,非常全

  • 18805/6   新一代Android渠道打包工具:1000个渠道包只需要5秒

  • 18784/1   iOS 动画总结

  • 18660/54   基于瀑布流的美女图片浏览App,有注释的源代码

  • 18125/18   用JavaScript 来开发iOS和Android 原生应用:React Native开源框架中文版来啦

  • 18064/19   65条最常用正则表达式,你要的都在这里了

  • 17886/23   珍藏多年的素材,灵感搜寻网站

  • 17509/10   女程序员的梦,众网友的神回复

  • 17385/11   年会上现场review代码是怎么样的体验!

  • 16512/62   【技巧一】搭配Android Studio,如何实现App远程真机debug?

  • 16302/47   在线音乐播放器完整版(商用级的源码):非常赞,可听免费高品质专辑

  • 16173/16   基于Android支付宝支付设计和开发方案

  • 16022/18   什么是真正的黑客:收获12200+Stars,人气远超微软开源VS

  • 15829/11   有木有这样一张酷图帮你集齐所有git命令超实用

  • 15813/4   46 个非常有用的 PHP 代码片段

  • 15016/1   基于node-webkit跨平台应用案例集之(一)

  • 14984/0   GitHub iOS 库和框架Top100 

  • 14780/7   一张图搞定iOS学习路线,非常全面

  • 14694/7   用程序员的姿势抢过年的火车票

  • 14480/29   【持续更新中】Android福利贴(一):资料源码

  • 14362/10   成为Java顶尖程序员 ,看这11本书就够了

  • 14319/18   一张图搞定Android学习路线,非常全面

  • 14272/10   微信支付终于成功了(安卓,iOS),在此分享

  • 14193/4   基于Node.js的强大爬虫,能直接发布抓取的文章哦

  • 13549/1   过上惬意生活的精华资源:创业、工作、生活成长

  • 13171/3   即时通信第三方库

  • 12904/18   八个最优秀的Android Studio插件

  • 12862/9   流媒体视频直播方案

  • 12746/2   【精品推荐】高质量PHP代码的50个实用技巧:非常值得收藏

  • 12539/9   B站建开源工作组:APP想支持炫酷弹幕的看过来

  • 12123/2   Android性能优化视频,文档以及工具

  • 12099/12   中国黑客的隐秘江湖:攻守对立,顶尖高手月入千万美元

  • 12053/9   烧了5亿美金,这家神秘的公司即将颠覆人类未来!

  • 11425/6   开箱即用!Android四款系统架构工具

  • 11167/4   10款GitHub上最火爆的国产开源项目——可以媲美西半球

  • 返回顶部