不知道为何,使用centos7安装redis4.0以上版本的yum源一直找不到,官网也没有,具体原因没有去调查,所以这里使用源码安装做个记录

 

  1.由于Redis是用C语言编写,所以编译时需要gcc,这一步就不演示了

  yum install gcc-c++

 

  2.官网下载redis5.0包

  http://download.redis.io/releases/

  

  这里选择5.0.3版本,自己想办法下载下来。本人放在/usr/local/下面

 

  3.解压

  

 

  4.编译以及安装

cd redis-5.0.3
make && make PREFIX=/usr/local/redis install

  

  查看是否安装成功(一般安装gcc后没啥依赖包,基本不会报错),但是为了保险,还是验证一下。

  

  此时redis的目录是这样的

  

  • redis-benchmark redis性能测试工具
  • redis-check-aof AOF文件修复工具
  • redis-check-rdb RDB文件修复工具
  • redis-cli redis命令行客户端
  • redis.conf redis配置文件
  • redis-sentinal redis集群管理工具
  • redis-server redis服务进程

  将redis-cli软连接到/bin下面,方便使用(有人也喜欢将该路径放入环境变量,都可以)

  方式一: ln -s /usr/local/redis/bin/redis-cli /bin

  方式二:vim /etc/profile # 最后面添加 export PATH=$PATH:/usr/local/redis/bin

 

  5.修改配置文件

#创建配置文件目录,规范化管理
mkdir  /usr/local/redis/etc

# 复制配置文件到/usr/local/redis/etc目录下
cp /usr/local/redis-5.0.3/redis.conf /usr/local/redis/etc/

# 打开配置文件
cd /usr/local/redis/etc
vim redis.conf

# 修改后台启动, 默认为daemonize no, 修改为daemonize yes 
daemonize yes


# 设置密码, 默认被注释, 取消注释修改为自定义密码(我的是123456)
requirepass 123456

# 监听ip, 允许访问的ip, 默认为127.0.0.1, 修改为0.0.0.0(允许所有服务器ip访问)或者注释掉
bind 0.0.0.0


#下面的为可选,测试环境可以不调整

# 客户端闲置多长时间后断开连接, 默认为0关闭此功能
timeout 0

# 指定监听端口, 默认为6379, 此处我保持默认
port 6379

# 是否开启AOF持久化,默认为no
appendonly yes

# 修改AOF及RBD存放路径, 默认为./, 修改为/usr/local/redis/data
dir /usr/local/redis/data

# 修改log存放路径, 默认为"", 修改为"/usr/local/redis/data/redis_6379.log"
logfile "/usr/local/redis/data/redis_6379.log"

 

  6.启动Redis

  这里有个小坑,不指定配置文件启动,远程连接不上。

# 启动
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

# 查看Redis是否启动
ps -ef | grep redis

# CentOS本地查看
redis-cli
# 输入配置密码即可
auth 123456

# 远程则自行使用工具查看

 

  7.添加为系统服务

  a)使用system(推荐)

  centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。 
  Systemd服务文件以.service结尾,比如现在要建立redis为开机启动,如果用yum install命令安装的,yum命令会自动创建redis.service文件,直接用命令systemcel enable redis.service设置开机启动即可

# 新建文件
vim usr/lib/systemd/system/redis.service
或者/etc//systemd/system/redis.service

# 添加内容
[Unit]
Description=redis.server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecRepload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

  注意:ExecStart配置成自己的路径 

  配置描述: 

  Description:描述服务 
  After:描述服务类别 
  [Service]服务运行参数的设置 
  Type=forking是后台运行的形式 
  ExecStart为服务的具体运行命令 
  ExecReload为重启命令 
  ExecStop为停止命令 
  PrivateTmp=True表示给服务分配独立的临时空间 
  注意:[Service]的启动、重启、停止命令全部要求使用绝对路径 
  [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

  重载系统服务:systemctl daemon-reload

   

  管理命令

systemctl start redis.service #启动redis服务 
systemctl enable redis.service #设置开机自启动 
systemctl disable redis.service #停止开机自启动 
systemctl status redis.service #查看服务当前状态 
systemctl restart redis.service  #重新启动服务 
systemctl list-units --type=service #查看所有已启动的服务

 

  b)脚本方式(不推荐,可跳过)

  vim /etc/init.d/redis  编写脚本 (输入下面的代码)

# chkconfig: 2345 10 90
# description: Start and Stop redis

PATH=/usr/local/bin:/sbin:/usr/bin:/bin

REDISPORT=6379 #实际环境而定
EXEC=/usr/local/redis/bin/redis-server #实际环境而定
REDIS_CLI=/usr/local/redis/bin/redis-cli #实际环境而定

PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/etc/redis.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
                if [ "$?"="0" ]
                then
                        echo "Redis is running..."
                fi
                ;;
        stop)
                if [ ! -f $PIDFILE ]
                then
                        echo "$PIDFILE exists, process is not running."
                else
                        PID=$(cat $PIDFILE)
                        echo "Stopping..."
                        $REDIS_CLI -p $REDISPORT SHUTDOWN
                        while [ -x $PIDFILE ]
                        do
                                echo "Waiting for Redis to shutdown..."
                                sleep 1
                        done
                        echo "Redis stopped"
                fi
                ;;
        restart|force-reload)
                ${0} stop
                ${0} start
                ;;
        *)
                echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
                exit 1
esac

  配置开机启动

chmod 755 /etc/init.d/redis #设置文件redis的权限,让Linux可以执行
chkconfig redis on    #开启服务自启动
chkconfig --list      #查看所有注册的脚本文件
service redis start   #启动
service redis stop    #关闭redis

 

 

 

 

原文地址:http://www.cnblogs.com/lizexiong/p/16930910.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性