CentOS安装redis

官方教程路径:https://redis.io/download

下载redis

下载前最好进入/usr/local目录

cd /usr/local
wget http://download.redis.io/releases/redis-6.0.5.tar.gz

安装redis

解压tar包

tar xzf redis-6.0.5.tar.gz
cd redis-6.0.5

构建redis

make

如果出现如下报错,则说明gcc版本过低,需要升级gcc

server.c:5166:39: error: ‘struct redisServer’ has no member named ‘maxmemory’

查看gcc版本

gcc -v

解决办法

# 升级到 5.3及以上版本
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
 
scl enable devtoolset-9 bash
 
# 注意:scl命令启用只是临时的,推出xshell或者重启就会恢复到原来的gcc版本。
# 如果要长期生效的话,执行如下:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

然后重新make

启动redis

src/redis-server

如果出现下图所示则代表启动成功
CentOS安装redis

修改redis配置

vim redis.conf
# 如果没有vim命令则使用vi命令
vi redis.conf

修改如下配置(按i进入编辑模式)

# 后台运行(守护线程,no为关闭,yes为开放)
daemonize yes
# 保护模式(yes开启,no关闭,如果开启该设置,则没有账号密码不能远程访问redis)
protected-mode no
# 设置可以访问redis的ip,设为0.0.0.0默认所有ip都可以访问
bind 0.0.0.0 

按ESC,输入:wq保存退出

:wq

使用当前配置启动redis

src/redis-server redis.conf

CentOS安装redis

配置redis全局环境

修改/etc/profile配置

vim /etc/profile
# 如果没有vim命令则使用vi命令
vi /etc/profile

添加下面所示代码(按i进入编辑模式)

# 注:/usr/local/redis-6.0.5/src为你的redis src所在路径
export PATH=$PATH:/usr/local/redis-6.0.5/src

按ESC,输入:wq保存

:wq

使用source /etc/profile使配置文件生效

source /etc/profile

现在你可以在linux任意地方启动redis服务器了

redis-server <redis.conf路径>

开放端口(阿里云需要开放安全组)

CentOS7.0以上默认使用firewall防火墙

# 查询端口是否开放
firewall-cmd --query-port=6379/tcp
# 开放6379端口
firewall-cmd --permanent --add-port=6379/tcp
# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

CentOS7.0以下使用iptables防火墙

# 开启6379端口
vim /etc/sysconfig/iptables
# 加入如下代码(按i进入编辑模式)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
# 保存退出后重启防火墙 (按ESC输入:wq按ENTER保存退出)
service iptables restart

配置redis服务

修改redis.conf文件

vim redis.conf
# 如果没有vim命令则使用vi命令
vi redis.conf

修改如下配置(按i进入编辑模式)

dir /usr/local/redis-6.0.5/data

按ESC,输入:wq保存

:wq

在redis-6.0.5目录下创建data文件夹

mkdir data

将redis_init_script(在redis安装目录下面的utils目录下)拷贝到/etc/init.d目录下并重命名为 redis

cp utils/redis_init_script /etc/init.d/redis
# 进入/etc/init.d
cd /etc/init.d
ls

CentOS安装redis
编辑redis文件(按i进入编辑模式)

vim redis
# 如果没有vim命令则使用vi命令
vi redis
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

### BEGIN INIT INFO
# Provides:     redis_6379
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Redis data structure server
# Description:          Redis data structure server. See https://redis.io
### END INIT INFO

REDISPORT=6379  #redis端口号,不用修改
EXEC=/usr/local/redis-6.0.5/src/redis-server  #将该路径修改为你redis-server所在路径
CLIEXEC=/usr/local/redis-6.0.5/src/redis-cli  #将该路径修改为你redis-cli所在路径

PIDFILE=/var/run/redis_${REDISPORT}.pid   #这个文件是 redis 启动后自动生成的,可用于检测 redis 是否启动,此处不要修改
CONF="/usr/local/redis-6.0.5/redis.conf"  #将该路径修改为你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
        ;;
    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

按ESC,输入:wq保存

:wq

查看有没有同名的redis服务

chkconfig --list

没有就给刚刚建的redis文件添加可执行权限

chmod 755 /etc/init.d/redis

将redis添加为系统服务

chkconfig --add redis

查看系统服务列表,出现redis服务则代表成功

chkconfig --list

CentOS安装redis
接下来就可以使用 service redis start和 service redis stop来开启或停止服务了

查看redis是否启动

ps -ef|grep redis

CentOS安装redis
未启动则输入service redis start启动redis服务(出现下图所示则代表启动成功)

service redis start

CentOS安装redis
查看redis是否启动

ps -ef|grep redis

CentOS安装redis
关闭redis服务

service redis stop

CentOS安装redis
查看redis是否关闭

ps -ef|grep redis

CentOS安装redis

配置客户端服务

编辑redis文件(按i进入编辑模式)

vim /etc/init.d/redis
# 如果没有vim命令则使用vi命令
vi /etc/init.d/redis

新增cli

#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

### BEGIN INIT INFO
# Provides:     redis_6379
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Redis data structure server
# Description:          Redis data structure server. See https://redis.io
### END INIT INFO

REDISPORT=6379
EXEC=/usr/local/redis-6.0.5/src/redis-server
CLIEXEC=/usr/local/redis-6.0.5/src/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis-6.0.5/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
        ;;
    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
        ;;
    cli)  #新增cli,此处配置的是redis-cli启动
        if [ -f $PIDFILE ]
        then
               $CLIEXEC
        else
               echo "Redis service is not started"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac

启动客户端命令

service redis cli
上一篇:Linux下uwsgi配置


下一篇:Redis安装配置