Linux中 redis 安装并添加到服务


下载并解压 redis
[root@instance-5prxhubg ~]# http://download.redis.io/releases/redis-5.0.3.tar.gz
[root@instance-5prxhubg ~]# tar xzf redis-5.0.3.tar.gz
[root@instance-5prxhubg ~]# cd redis-5.0.3

安装 redis 到 /usr/local/redis
[root@instance-5prxhubg redis-5.0.3]# make  PREFIX=/usr/local/redis  install
注:如果出现错误
1、没有安装gcc,这会导致我们无法make成功。使用yum安装:
yum -y install gcc

2、jemalloc重载了Linux下的ANSI C的malloc和free函数。解决办法:make时添加参数。
make MALLOC=libc

[root@instance-5prxhubg redis-5.0.3]# ls /usr/local/redis
 bin
[root@instance-5prxhubg redis-5.0.3]# ls /usr/local/redis/bin
redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server
[root@instance-5prxhubg redis-5.0.3]# 

启动redis 
[root@instance-5prxhubg redis-5.0.3]# /usr/local/redis/bin/redis-server 
79963:C 19 Jan 2019 22:18:59.300 # Warning: no config file specified, using the default config. In order to specify a config file use /usr/local/redis/bin/redis-server /path/to/redis.conf
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 79963
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                 
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               



这样启动的 redis 是默认形式,只能在前台运行,关闭命令窗口就会结束 redis。
现在需要把 redis 改成可以在后台运进

复制一份redis 配置文件 redis.conf 到 /usr/local/redis/bin/
[root@instance-5prxhubg redis-5.0.3]# ls
00-RELEASENOTES  CONTRIBUTING  deps     Makefile   README.md   runtest          runtest-sentinel  src    utils
BUGS             COPYING       INSTALL  MANIFESTO  redis.conf  runtest-cluster  sentinel.conf     tests
[root@instance-5prxhubg redis-5.0.3]# 
[root@instance-5prxhubg redis-5.0.3]# cp redis.conf  /usr/local/redis/bin/


修改 redis 配置文件
[root@instance-5prxhubg redis-5.0.3]# cd /usr/local/redis/bin/
[root@instance-5prxhubg bin]# vim redis.conf
查找daemonize no 改为以守护进程方式运行  daemonize yes  



启动 redis 指定配置文件
[root@instance-5prxhubg bin]# ls
redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis.conf  redis-sentinel  redis-server
[root@instance-5prxhubg bin]# ./redis-server   redis.conf 
94640:C 19 Jan 2019 22:29:29.630 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
94640:C 19 Jan 2019 22:29:29.630 # Redis version=5.0.3, bits=64, commit=00000000, modified=0, pid=94640, just started
94640:C 19 Jan 2019 22:29:29.630 # Configuration loaded

测试      
[root@instance-5prxhubg bin]# ./redis-cli 
127.0.0.1:6379> set name xiaohong
OK
127.0.0.1:6379> get name
"xiaohong"
127.0.0.1:6379> exit
[root@instance-5prxhubg bin]# 

 

 

如果需要可以配置 redis 开机自启

配置 redis 开机自启 

将redis_init_script拷贝到/etc/init.d目录下并重命名为 redis
[root@instance-5prxhubg ~]# cp redis-5.0.3/utils/redis_init_script    /etc/init.d/redis
[root@instance-5prxhubg ~]# cd /etc/init.d
[root@instance-5prxhubg init.d]# ls
 bcm-agent  functions  hosteye  mysqld  netconsole  network  README  redis

查看一下 redis 这个文件
[root@instance-5prxhubg init.d]# cat redis
#!/bin/sh

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



这个 shell 脚本中这五个参数十分重要
REDISPORT=6379    //redis的端口号
EXEC=/usr/local/bin/redis-server  //redis服务位置
CLIEXEC=/usr/local/bin/redis-cli  //redis 客户位置
PIDFILE=/var/run/redis_${REDISPORT}.pid //这个文件是 redis 启动后自动生成的,可用于检测 redis 是否启动。不能修改
CONF="/etc/redis/${REDISPORT}.conf" //redis 配置文件位置


对比我的配置可以看出 EXEC、CLIEXEC 和 CONF 这三个参数要修改:
EXEC=/usr/local/redis/bin/redis-server  
CLIEXEC=/usr/local/redis/bin/redis-cli  
CONF=/usr/local/redis/bin/redis.conf  

vim 修改并保存


[root@instance-5prxhubg init.d]# chkconfig  --add redis
[root@instance-5prxhubg init.d]# chkconfig
bcm-agent       0:关    1:关    2:开    3:开    4:开    5:开    6:关
hosteye         0:关    1:关    2:开    3:开    4:开    5:开    6:关
mysqld          0:关    1:关    2:开    3:开    4:开    5:开    6:关
netconsole      0:关    1:关    2:关    3:关    4:关    5:关    6:关
network         0:关    1:关    2:开    3:开    4:开    5:开    6:关
redis           0:关    1:关    2:开    3:开    4:开    5:开    6:关



重启 Linux

[root@instance-5prxhubg init.d]# reboot



查看 redis-server 进程是否存在
[root@instance-5prxhubg ~]# ps -ef | grep redis
root       1068      1  0 15:42 ?        00:00:01 /usr/local/redis/bin/redis-server 127.0.0.1:6379
root       6770   6485  0 15:58 pts/0    00:00:00 grep --color=auto redis


关闭 redis 服务
[root@instance-5prxhubg ~]# service redis stop
Stopping ...
Redis stopped
[root@instance-5prxhubg ~]# ps -ef | grep redis
root      10114   6485  0 16:01 pts/0    00:00:00 grep --color=auto redis
[root@instance-5prxhubg ~]# 


 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值