CentOS 7安装Redis服务

一、Redis下载

在centOS里通过wget下载redis

wget http://download.redis.io/releases/redis-4.0.11.tar.gz  具体版本下载地址可以去redis官网查看

Redis下载地址:https://redis.io/download

二、安装

1、进入/usr/local/redis目录下,解压redis安装文件

cp -a /down/redis-4.0.11.tar.gz /usr/local/redis/
cd /usr/local/redis tar -xzvf redis-4.0.11.tar.gz

 

2、进入解压后的文件目录,之后直接编译即可(redis安装相对简单)

cd redis-4.0.11
make

 

3、复制redis-server 和 redis-cli到redis文件夹

cp /usr/local/redis/redis-4.0.11/src/redis-server /usr/local/redis/
cp /usr/local/redis/redis-4.0.11/src/redis-cli /usr/local/redis/

4、复制redis的配置文件

cp /usr/local/redis/redis-4.0.11/redis.conf /usr/local/redis

5、编辑配置文件

cd /usr/local/redis
vim redis.conf

编辑以下几项:

① 注释 bind 127.0.0.1 项。
默认的bind 接口是127.0.0.1,也就是本地回环地址。
这样的话,访问redis服务只能通过本机的客户端连接,而无法通过远程连接

② 保护模式protected-mode yes 改为 protected-mode no。
Protected-mode 是为了禁止公网访问redis cache,加强redis安全的。
它为yes有两个条件需要满足:没有bind IP 和 没有设置访问密码。
如果为yes,则只能够通过lookback ip(127.0.0.1)访问Redis cache,
如果从外网访问,则会返回相应的错误信息

③ 默认为不守护进程模式,把daemonize no 改为daemonize yes
daemonize 设置yes或者no区别
daemonize:yes:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。
  在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
daemonize:no: 当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。

④ 将 requirepass foobared前的“#”去掉,并重置密码。格式为requirepass mypassword123
 

6、编辑redis开机启动redis脚本并给脚本赋予权限

vim /etc/init.d/redis
编辑之后赋予权限:
chmod 755 /etc/init.d/redis

 

在/etc/init.d/redis文件中写如下代码【该脚本在设置密码或者未设置密码时通用】

#!/bin/sh
    
# chkconfig: 2345 80 90
# description: Start and Stop redis
# PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379                       #端口
EXEC=/usr/local/redis/redis-server    #redis-server路径  
REDIS_CLI=/usr/local/redis/redis-cli  #redis_cli路径
PIDFILE=/var/run/redis_$REDISPORT.pid
CONF="/usr/local/redis/redis.conf"    #redis.conf路径
AUTH="mypassword123"                  #密码信息

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 does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                
                if [ -z $AUTH ]
                then
                        $REDIS_CLI -p $REDISPORT SHUTDOWN
                else
                        $REDIS_CLI -a $AUTH -p $REDISPORT SHUTDOWN
                fi
                
                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

7、添加开机启动服务

在rc.local增加启动代码就可以了。

vim /etc/rc.local
在里面加上 service redis star

8、给Redis启动注册系统服务

chkconfig --add redis

9、测试redis服务开启关闭

service redis start
service redis stop
检查开启是否成功:
ps -ef|grep redis

10、创建redis命令软连接

ln -s /usr/local/redis/redis-cli /usr/bin/redis
注意:因为redis登录时加了密码验证,所以用redis时需要加 ‘auth 密码’

 

posted @ 2018-08-28 14:18  弍月关  阅读(2171)  评论(0编辑  收藏  举报