前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux下Redis开机自启(Centos)

Linux下Redis开机自启(Centos)

作者头像
Autooooooo
发布2020-11-09 11:30:13
2.7K0
发布2020-11-09 11:30:13
举报
文章被收录于专栏:CoxhuangCoxhuang

CentOS6.9+redis 安装/ 配置 / 开机启动

#1 环境

代码语言:javascript
复制
centos6.9 (腾讯云服务器)

#2 开始

安装

代码语言:javascript
复制
cd /opt # 把redis放在 /opt目录下
wget http://download.redis.io/releases/redis-4.0.2.tar.gz
tar xzf redis-4.0.2.tar.gz
cd redis-4.0.2
make
make test

启动

代码语言:javascript
复制
cd /opt/redis-4.0.2/src/
./redis-server # 启动

验证(新开窗口)

代码语言:javascript
复制
cd /opt/redis-4.0.2/src/
./redis-cli # 启动客户端
SET key value # 插入数据
get key # 查询数据

完美

配置开机自动开启redis

重启centos

代码语言:javascript
复制
reboot

查看redis是否开启(并没有开启,拒绝连接)

修改redis.conf,打开后台运行选项

代码语言:javascript
复制
cd /opt/redis-4.0.2
vim redis.conf
daemonize yes # no改成yes

编写开机自启动脚本

代码语言:javascript
复制
vim /etc/init.d/redis 

脚本需要修改4处地方(根据自己redis安装目录,暂时先修改3处,第四处后面讲解)

代码语言:javascript
复制
# chkconfig: 2345 20 80
# description: Start and Stop redis

PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
# 自己的redis-server路径(需要自己更改)
EXEC=/opt/redis-4.0.2/src/redis-server
# 自己的redis-cli路径(需要自己更改)
REDIS_CLI=/opt/redis-4.0.2/src/redis-cli                                                                                   

PIDFILE=/var/run/redis.pid
# 自己的redis.conf 路径(需要自己更改)
CONF="/opt/redis-4.0.2/redis.conf"                                                                                         
AUTH="1234"                                                                                                                  
                                                                                                                           
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                                                                  
                        sleep 2                                                                                            
                       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  

执行权限

代码语言:javascript
复制
chmod +x /etc/init.d/redis

尝试启动或停止redis

代码语言:javascript
复制
service redis start
service redis stop

开启服务自启动

代码语言:javascript
复制
chkconfig redis on

#3 测试

开启redis

代码语言:javascript
复制
service redis start
# 完美打开

关闭redis

代码语言:javascript
复制
service redis stop
# 不能关闭redis,为什么???????

#3.1 为什么不能正常关闭redis(可能会存在不能正常关闭的情况)

查看redis.pid

代码语言:javascript
复制
# 在脚本中,有一行代码是存放redis.pid目录
# PIDFILE=/var/run/redis.pid
# 进入 /var/run 目录
#  cd /var/run/ 
在这里插入图片描述
在这里插入图片描述

修改redis配置文件(第四处修改)

代码语言:javascript
复制
cd /opt/redis-4.0.2
vim redis.conf
pidfile /var/run/redis.pid # 改成这样子

执行权限

代码语言:javascript
复制
chmod +x /etc/init.d/redis

测试 … 通过命令能正常关闭redis

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-02-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CentOS6.9+redis 安装/ 配置 / 开机启动
  • #1 环境
  • #2 开始
  • 配置开机自动开启redis
  • #3 测试
    • #3.1 为什么不能正常关闭redis(可能会存在不能正常关闭的情况)
    相关产品与服务
    云数据库 Redis
    腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档