Linux部署redis的脚本

#!/bin/bash
#redis的编译安装
redislevel=6.2.7
exist=$(whereis redis | awk '{print $2}')

fname=/root/redis-${redislevel}.tar.gz

#判断是否以root用户执行改脚本
if [ $UID -ne 0 ];
then
	echo "请用root用户执行$0"
	exit
fi
 
#判断是否安系统是否装过redis
if [ ! -z "${exist}" ]; 
then
	echo "您的系统已经部署过redis了..."
	echo "或您的系统还有redis残留文件..."
	echo "可以使用 "whereis redis" 和 "find / -name redis" 查找清空掉残留文件..."
	exit
fi
 
#检测网络通信情况
ping baidu.com -c 1 -i 0.1 -W 1 &>/dev/null
if [[ $? -ne 0 ]]; 
then
	echo "请检查网络连接情况后在执行$0..."
	exit
else
	echo "网络连接检测..."
	echo "OK!"
fi
 
echo "开始安装..."
 
#安装基础环境
yum install -y gcc wget

#判断目录下是否有这个文件没有就wget
if [[ ! -e ${fname} ]]; 
then
	wget -P /root http://download.redis.io/releases/redis-${redislevel}.tar.gz
	#判断下载是否成功
	if [[ $? -ne 0 ]]; 
	then
	    echo "=================redis软件包下载失败...================="
	    echo "=============请查看软件包版本配置是否正确==============="
	    echo ""
	    exit
	fi
fi


#解压至指定目录下
tar -zxvf /root/redis-${redislevel}.tar.gz -C /root
sleep 3
 
cd /root/redis-${redislevel}
make && make install PREFIX=/usr/local/redis
#安装路径可以自定义
cp /root/redis-${redislevel}/redis.conf /usr/local/redis/bin/
#修改redis.conf配置文件允许后台启动
sed -i 's/daemonize no/daemonize yes/g' /usr/local/redis/bin/redis.conf
sleep 3
#加入系统启动项
echo "[Unit]
Description=redis-server
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" >/etc/systemd/system/redis.service
 
sleep 2
#删除无用的文件
rm -rf /root/redis-${redislevel} /root/redis-${redislevel}.tar.gz
 
#启动redis服务
systemctl daemon-reload
systemctl enable redis.service
systemctl start redis.service
 
if [[ $? -eq 0 ]]; 
then
	echo ""
	echo "===============redis安装完毕==============="
	echo "================redis已启动================"
	echo ""
else
	echo ""
	echo "=============redis安装失败请检查配置...==============="
	echo ""
	rm -rf /etc/systemd/system/redis.service
	exit
fi
 
 

### 如何在 Linux 系统上部署 Redis #### 准备工作 为了确保顺利安装和配置 Redis,在开始之前确认操作系统已经更新到最新状态,并且拥有必要的开发工具包。 ```bash sudo apt update && sudo apt upgrade -y sudo apt install build-essential tcl -y ``` #### 下载与编译源码 获取最新的稳定版 Redis 源代码并解压文件。接着进入解压缩后的目录执行 `make` 命令来编译软件[^2]。 ```bash cd /tmp curl -O http://download.redis.io/releases/redis-stable.tar.gz tar xzvf redis-stable.tar.gz cd redis-stable make ``` #### 测试编译结果 完成编译过程之后,可以通过运行测试套件验证构建是否成功。这一步骤不是强制性的但是推荐进行以确保一切正常运作。 ```bash make test ``` #### 安装 Redis 当所有的测试都通过后就可以正式安装 Redis 到系统当中去了。默认情况下会把可执行文件放置于 `/usr/local/bin` 路径下。 ```bash sudo make install ``` #### 配置守护进程启动方式 为了让 Redis 支持作为后台服务长期运行而不是仅限于命令行交互模式,还需要额外做一些设置。这里提供了一个简单的初始化脚本用于管理该功能。 创建一个新的 systemd service 文件: ```bash sudo nano /etc/systemd/system/redis.service ``` 向其中添加如下内容: ```ini [Unit] Description=Redis In-Memory Data Store After=network.target [Service] User=redis Group=redis ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf ExecStop=/usr/local/bin/redis-cli shutdown Restart=always [Install] WantedBy=multi-user.target ``` 保存退出编辑器后再继续下面的操作。 #### 创建专用用户及权限分配 出于安全考虑建议为 Redis 单独建立一个低权限账户专门用来运行此应用程序实例。 ```bash sudo adduser --system --group --no-create-home redis sudo mkdir /var/lib/redis sudo chown redis:redis /var/lib/redis sudo chmod 770 /var/lib/redis ``` 同样地也需要准备相应的配置文件夹以及给予适当读写访问权给上述新建的服务账号。 ```bash sudo mkdir /etc/redis sudo cp ./utils/redis_conf_example /etc/redis/redis.conf sudo chown root:redis /etc/redis/redis.conf sudo chmod 640 /etc/redis/redis.conf ``` 最后修改配置文件内的某些参数使之更贴合实际应用场景需求比如监听地址绑定、持久化选项等等。 #### 启动并启用开机自启 现在可以尝试开启 Redis 并将其加入到系统的自动加载列表里面去以便每次重启机器的时候都能自动激活它。 ```bash sudo systemctl start redis sudo systemctl enable redis ``` 检查当前状态以确认一切都按预期那样运转良好。 ```bash sudo systemctl status redis ``` 如果没有任何错误提示那么恭喜你现在已经成功完成了整个流程!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值