Linux 下安装 Redis 及配置

5 篇文章 0 订阅

说明

传送门

官网 https://redis.io/
官网Github https://github.com/antirez/redis/releases

下载解压

# 进入当前用户的下载目录
[jerryjin@localhost ~]$ cd /home/jerryjin/下载
# 下载 redis 源码包
[jerryjin@localhost 下载]$ wget https://github.com/antirez/redis/archive/4.0.14.tar.gz
# 把 redis 源码解压到 /usr/local
[jerryjin@localhost 下载]$ sudo tar zxvf 4.0.14.tar.gz -C /usr/local
# 跳转目录。(解压后 /usr/local/ 下会多出一个目录 redis-4.0.14)
[jerryjin@localhost 下载]$ cd /usr/local/redis-4.0.14

编译、安装

编译 (需要gcc编译器,如果没有,请先安装)

[jerryjin@localhost redis-4.0.14]$ sudo make

编译出的可执行文件在 /usr/local/redis-4.0.14/src 目录下

[jerryjin@localhost redis-4.0.14]$ sudo make install

安装操作会将相关的可执行文件复制到/usr/local/bin ,安装好后 redis-server 程序就在这 (添加到此路径下,就可以随处运行了)

配置

/usr/local/redis-4.0.14/redis.conf 复制一份并改名为/etc/redis/6379.conf

# 创建目录
[jerryjin@localhost redis-4.0.14]$ usdo mkdir -p /etc/redis
# 复制配置文件过去
[jerryjin@localhost redis-4.0.14]$ sudo cp /usr/local/redis-4.0.14/redis.conf /etc/redis/6379.conf
# 修改配置文件
[jerryjin@localhost redis-4.0.14]$ sudo vim /etc/redis/6379.conf
# 1. 释:bind 127.0.0.1 才能远程访问
# 2. 关闭保护模式:protected-mode no
# 3. 启用守护进程 daemonize yes 
# 4. 登录密码,先去掉注释,设置个密码:requirepass 密码部分 (可选)

此时就可以启动 redis 了:

# 运行
redis-server /etc/redis/6379.conf
# 查看一下
netstat -ntulp | grep 6379  
# 或
netstat -ntulp | grep redis
# 看完了我们先关掉 redis。 {pid} 是上个命令中查到的
kill -9 {pid}

配置服务

1. 添加服务配置

vim /lib/systemd/system/redis_6379.service

[Unit]
Description=redis-server
Documentation=https://redis.io/
After=network.target

[Service]
Type=forking

ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf
ExecReload=/usr/local/bin/redis-server -s reload
ExecStop=/usr/local/bin/redis-server -s stop

Restart=always
RestartSec=5
PrivateTmp=true

[Install]
WantedBy=multi-user.target

2. 运行服务

.service可省,直接写 redis_6379

# 启动服务
systemctl start redis_6379
# 查看服务详情
systemctl status redis_6379

3. 开机启动

# 激活服务自启动
systemctl enable redis_6379.service
# 停止服务自启动
systemctl disable redis_6379.service

测试redis

提示说命令行输入密码登录不安全,没关系,反正以后又不在这里

# 登录
[jerryjin@localhost redis]$ redis-cli -h 127.0.0.1 -p 6379
# 输入密码
127.0.0.1:6379> auth benben
OK
# 测试写入数据
127.0.0.1:6379> set name jerryjin
OK
# 测试读取数据
127.0.0.1:6379> get name
"jerryjin"

得到 "jerryjin" 说明测试成功

问题

编译报错

zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
解决方案:用蛮力,详细的看说明 https://github.com/redis/redis/blob/6.0/README.md#allocator

make MALLOC=libc

关机等待 reids 很久

用 init.d 方式配置开机启动

redis的启动模板在 ../redis-4.0.14/utils/redis_init_script
把它拷贝到 /etc/init.d/ 目录下,命名为redis_6379同时它也将作为我们的服务名称。之所以加上端口作后缀,是考虑到有可能以后会安装多个redis

# 复制启动模板到 /etc/init.d/
[jerryjin@localhost utils]$ sudo cp /usr/local/redis-4.0.14/utils/redis_init_script /etc/init.d/redis_6379
# 设置权限
[jerryjin@localhost utils]$ sudo chmod 755 /etc/init.d/redis
# 设置开机自启动
[jerryjin@localhost init.d]$ sudo chkconfig redis_6379 on

这种配置开机启动的方式,出现 “关机等待 reids 很久”的问题

原因是是redis关闭需要密码,我们修改一下:

 vim /etc/init.d/redis_6379

其中这句 $CLIEXEC -p $REDISPORT -a benben shutdown-a benben 就是告诉它密码是 benben

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 -a benben 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

参考资料

Redis 官网
Redis 中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑虾

多情黯叹痴情癫。情癫苦笑多情难

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值