linux下安装redis

本文详细介绍如何在CentOS 7上安装、编译Redis,并配置其为后台运行模式,包括修改绑定IP地址、关闭保护模式、设置密码、配置日志文件等步骤。同时,提供了制作启动脚本的方法,实现Redis的开机自启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.下载与解压
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar xzvf redis-3.2.8.tar.gz

2.编译与解决报错问题
mv redis-3.2.8 /usr/local

cd redis-3.2.8
make
如果报错

增加MALLOC=libc即可
make MALLOC=libc
如果还是报错,可以安装yum install cpp

yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make

之后删掉解压文件 重新解压(centos7是这样弄好的)

sudo make install
install 的时候就是将可执行文件redis-server复制到/usr/local/bin目录下

3.修改配置文件
sudo mkdir /etc/redis
cd redis-3.2.8
sudo cp redis.conf /etc/redis/6379.conf
将 redis-3.2.8 目录下的redis.conf配置文件拷贝到/etc/redis目录下
并修改配置文件:
3.1 修改绑定IP地址
bind 127.0.0.1 改成 bind 0.0.0.0

绑定IP地址必须改成0.0.0.0或者具体的IP地址,否则无法远程访问,不建议设置为具体的IP地址,否则127.0.0.1和localhost无法访问

3.2 关闭保护模式
protected-mode yes 改成protected-mode no
关闭保护模式,否则其他机器不能连接redis, 只能本机连接。
设置protected-mode为no,否则不能远程访问,但最好配置防火墙以保安全

3.3 设置密码
打开requirepass 前面的注释, 并设置新的密码

3.4 开启后台运行模式
daemonize yes
将no改成yes
如果不好找到该配置项,按ESC键切换到命令模式,再输入:/^daemon回车即可搜索,将光标定位到该处,再按i键切换到编辑模式

3.5 配置redis日志文件
如果不配置的话,默认是打印到linux系统日志文件/var/log/syslog里面,不容易维护和查看
#设置日志文件路径
logfile “/var/log/redis.log”

3.6 配置slave
如果是从服务器,需要配置slave的选项:

4.制作启动脚本
在redis-3.2.8/utils目录下有一个现成的启动脚本文件,是redis安装包里面自带的

内容如下:

pengchucai@ubuntu:~/redis-3.2.8/utils$ cat  redis_init_script
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

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

可以直接使用,只是需要将其拷贝到/etc/init.d目录下并重命名
sudo cp /home/pengchucai/redis-3.2.8/utils/redis_init_script /etc/init.d/redis
sudo vi /etc/init.d/redis
在关闭命令中需要加上客户端连接密码,否则无法通过service redis stop命令关闭redis,不停报错并陷入死循环

(error) NOAUTH Authentication required.
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ..

因为其本质是通过/usr/local/bin/redis-cli -p 6379 shutdown 来关闭redis的
而redis已经设置了密码,redis-cli 连接6379端口需要加认证信息
$CLIEXEC -a “password” -p $REDISPORT shutdown

shutdown成功后,会自动删除/var/run目录下的redis_6379.pid文件

4.1 设置redis开机自启动
添加脚本的执行权限
sudo chmod +x /etc/init.d/redis
设置开机自动启动
sudo update-rc.d redis defaults
(centos7找不到update-rc.d,可以采用如下方式设置开机启动
在/etc/init.d/redis中添加2行代码,后面2行即可,带#

# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database

然后 设置为开机自启动
chkconfig redis on

使用脚本启动服务
开启redis: sudo service redis start
停止redis: sudo service redis stop
重启redis: sudo service redis restart

在自己的VMWare虚拟机上测试reboot后,redis进程还在,并且PID与之前不一样了,说明开机自启动是OK的。

测试:redis-cli -h 127.0.0.1 -p 6379 -a 123456
6379 > set name xxx
6379 > get name
即可查看结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值