Redis——急速安装并设置自启(CentOS)

现状

对于开发人员来说,部署服务器环境并不是一个高频操作。所以就导致绝大部分开发人员不会花太多时间去学习记忆,而是直接百度(有一些同学可能连链接都懒得收藏)。所以到了部署环境的时候就头疼,甚至是抗拒。除了每次都要折腾个把小时(甚至更久)以外,还会觉得:我是开发不是运维,为什么要搞这些?有这种想法无可厚非,但公司没有运维岗位的时候,是不是必须你来做?所以抱怨是没用的,提升效率才是解决问题的根本。这篇文章可以让你脱离苦海,10分钟搞定redis安装+服务自启,仔细看。

分析

现有两种比较实在的解决方案:

其一是通过docker安装redis,把配置文件通过资料卷和本地文件挂钩。

其二就是通过shell脚本来帮助我们完成这些机械化的操作。

第一种对新手很不友好,你需要查阅更多的资料,试更多的错,如果你急于完成工作任务,反而会给你造成更多困扰。为了能真正帮到大家,本文说一下第二种,直接进入正题。

编写脚本

首先,进入服务器任意目录执行以下命令:

vi redis-install.sh

进入vi编辑器,点击i开启编辑模式后,把下面代码粘贴进去(版本、安装目录根据自己需要更改):

#!/bin/bash

version="6.2.2"

echo "==========检查并安装gcc=========="
yum install -y gcc

echo "==========切换目录=========="
cd ~

echo "==========下载压缩包=========="
wget https://download.redis.io/releases/redis-${version}.tar.gz

echo "==========解压到当前目录=========="
tar xzf redis-${version}.tar.gz

echo "==========删除无用文件=========="
rm redis-${version}.tar.gz

echo "==========切换目录=========="
cd redis-${version}

echo "==========开始编译=========="
make

echo "==========开始安装=========="
make install PREFIX=/usr/local/redis

echo "==========配置文件=========="
cp ~/redis-6.2.2/redis.conf /usr/local/redis/bin/

echo "==========安装完成=========="

然后:按下esc——输入冒号——输入wq——回车

安装和配置

shell脚本已经写好了,通过sh命令执行:

sh redis-install.sh

执行完毕时就完成安装操作了。

然后切换到安装目录:

cd /usr/local/redis/bin

此目录下有个redis.conf的文件,打开并修改下面这几项(根据自己需求来):

//是否允许后台启动
daemonize no 改为 yes

//设置密码
requirepass your password

//允许的最大物理存储空间(示例为1gb)
maxmemory 1073741824

//淘汰规则,规定空间不够用时如何淘汰已有键
maxmemory-policy volatile-ttl

服务自启

切换到任意目录,执行以下命令新建服务:

vi /etc/systemd/system/redis.service

和刚才的vi一样,按下i进入编辑模式,然后拷贝下面代码:

[Unit]
Description=redis
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

按下esc——输入冒号——输入wq——点击回车。

然后重载本地服务:

systemctl daemon-reload

启动刚才手写的服务:

systemctl start redis.service

设置开机启动:

systemctl enable redis.service

如果没有任何反馈,代表启动成功,可以用客户端软件链接测试了。

还有一点

这篇文章写的十分照顾小白(甚至连vi的基本操作都讲了),没有深入去讲,基本任谁c+v就能用,因为这一篇的内容就是用来提升工作效率的。

过几天有时间的话,我会把上面提到的方案一写出来,有兴趣可以追一下。