Linux[Centos7]下redis5安装、部署、开机自启

1.什么是redis

redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)

2.redis的应用场景

缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
分布式集群架构中的session分离。
聊天室的在线好友列表。
任务队列。(秒杀、抢购、12306等等) 
应用排行榜。 
网站访问统计。 
数据过期处理(可以精确到毫秒)

3.redis的安装

下面介绍在CentOS环境下,Redis的安装与部署,redis从3.0版本以后增加了集群功能。

步骤如下:

由于Redis是用C语言编写,所以编译时需要gcc,

yum install gcc-c++

   通过官网下载 地址:http://download.redis.io/releases/redis-5.0.0.tar.gz

   或 使用linux wget命令:wget http://download.redis.io/releases/redis-5.0.0.tar.gz

把源码包上传到linux服务器,在上传的目录下进行解压

tar -zxvf redis-5.0.0.tar.gz

进入解压后的目录进行编译make,指定目录安装make install 如 /usr/local/redis

cd redis-5.0.0/
make (这里进redis-5.0.0/目录下直接make编译就好了)
make install PREFIX=/usr/local/redis   (指定编译路径)

进入安装目录bin下

cd /usr/local/redis/bin

此时的目录结构
1

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

4.启动Redis

1.前端模式启动

/usr/local/redis/bin/redis-server
或 cd /usr/local/redis/bin 运行 ./redis-server

前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,故不推荐使用此方法。
2
2.后端模式启动

1)从redis的源码目录中复制redis.conf到redis的安装目录bin下。

cp /root/redis-5.0.0/redis.conf /usr/local/redis/bin

3
2)修改配置文件 (是否后台启动)

vim /usr/local/redis/bin/redis.conf

找到 daemonize 按i 进入编辑模式 把no 改为 yes

按ESC + :wq 保存退出
在这里插入图片描述
执行如下命令启动redis:

cd /usr/local/redis/bin

./redis-server ./redis.conf
3.查看是否启动成功
ps aux|grep redis

在这里插入图片描述
redis默认端口为 6379,可更改redis.conf文件,修改端口号

5. 关闭redis

强行终止redis进程可能会导致redis持久化数据丢失。

正确停止Redis的方式应该是向Redis发送SHUTDOWN命令,

命令为:

cd /usr/local/redis
./bin/redis-cli shutdown

强行终止redis

pkill redis-server

6.让redis开机自启

方法一:

1) 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/bin/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
复制代码
  1. 配置开机启动
chmod 755 /etc/init.d/redis #设置文件redis的权限,让Linux可以执行
chkconfig redis on    #开启服务自启动
chkconfig --list      #查看所有注册的脚本文件
service redis start   #启动
service redis stop    #关闭redis

3) 检测是否成功

reboot  #重启--如果是centos6.5学过来的,init 0与init 6一样在centos7适用
ps aux|grep redis #查看redis进程是否存在

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

1.在系统服务目录里创建redis.service文件

vim /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/bin/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

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

配置描述:

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

  1. 测试并加入开机自启

先关闭redis-server
  systemctl stop redis.service

开启redis-server
  systemctl start redis.service #如果服务是开启状态,使用此命令会启动失败。

  1. 开启成功,将服务加入开机自启
      systemctl enable redis.service #注意后面不能跟空格

  2. reboot #重启

  3. 查看服务运行状态:systemctl status redis.service
    在这里插入图片描述

  4. 全部命令
     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 #查看所有已启动的服务

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值