现状
对于开发人员来说,部署服务器环境并不是一个高频操作。所以就导致绝大部分开发人员不会花太多时间去学习记忆,而是直接百度(有一些同学可能连链接都懒得收藏)。所以到了部署环境的时候就头疼,甚至是抗拒。除了每次都要折腾个把小时(甚至更久)以外,还会觉得:我是开发不是运维,为什么要搞这些?有这种想法无可厚非,但公司没有运维岗位的时候,是不是必须你来做?所以抱怨是没用的,提升效率才是解决问题的根本。这篇文章可以让你脱离苦海,10分钟搞定redis安装+服务自启,仔细看。
分析
现有两种比较实在的解决方案:
其一是通过docker安装redis,把配置文件通过资料卷和本地文件挂钩。
其二就是通过shell脚本来帮助我们完成这些机械化的操作。
第一种对新手很不友好,你需要查阅更多的资料,试更多的错,如果你急于完成工作任务,反而会给你造成更多困扰。为了能真正帮到大家,本文说一下第二种,直接进入正题。
编写脚本
首先,进入服务器任意目录执行以下命令:
1 vi redis-install.sh
进入vi编辑器,点击i开启编辑模式后,把下面代码粘贴进去(版本、安装目录根据自己需要更改):
1 #!/bin/bash
2
3 version="6.2.2"
4
5 echo "==========检查并安装gcc=========="
6 yum install -y gcc
7
8 echo "==========切换目录=========="
9 cd ~
10
11 echo "==========下载压缩包=========="
12 wget https://download.redis.io/releases/redis-${version}.tar.gz
13
14 echo "==========解压到当前目录=========="
15 tar xzf redis-${version}.tar.gz
16
17 echo "==========删除无用文件=========="
18 rm redis-${version}.tar.gz
19
20echo "==========切换目录=========="
21cd redis-${version}
22
23 echo "==========开始编译=========="
24 make
25
26 echo "==========开始安装=========="
27 make install PREFIX=/usr/local/redis
28
29 echo "==========配置文件=========="
30cp ~/redis-6.2.2/redis.conf /usr/local/redis/bin/
31
32 echo "==========安装完成=========="
然后:按下esc——输入冒号——输入wq——回车
安装和配置
shell脚本已经写好了,通过sh命令执行:
1 sh redis-install.sh
执行完毕时就完成安装操作了。
然后切换到安装目录:
1 cd /usr/local/redis/bin
此目录下有个redis.conf的文件,打开并修改下面这几项(根据自己需求来):
1 //是否允许后台启动
2 daemonize no 改为 yes
3
4 //设置密码
5 requirepass your password
6
7 //允许的最大物理存储空间(示例为1gb)
8 maxmemory 1073741824
9
10 //淘汰规则,规定空间不够用时如何淘汰已有键
11 maxmemory-policy volatile-ttl
服务自启
切换到任意目录,执行以下命令新建服务:
1 vi /etc/systemd/system/redis.service
和刚才的vi一样,按下i进入编辑模式,然后拷贝下面代码:
1 [Unit]
2 Description=redis
3 After=network.target
4
5 [Service]
6 Type=forking
7 ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
8 PrivateTmp=true
9
10 [Install]
11 WantedBy=multi-user.target
按下esc——输入冒号——输入wq——点击回车。
然后重载本地服务:
1 systemctl daemon-reload
启动刚才手写的服务:
1 systemctl start redis.service
设置开机启动:
1 systemctl enable redis.service
如果没有任何反馈,代表启动成功,可以用客户端软件链接测试了。
最后
这篇文章写的十分照顾小白(甚至连vi的基本操作都讲了),没有深入去讲,基本任谁c+v就能用,因为这一篇的内容就是用来提升工作效率的。