一、python脚本
之前发过redis shell一键安装脚本,今天继续分析python的脚本,以redis-6.2.6为例,进行离线安装。
在进行离线安装的时候需要注意的一点是redis是依赖gcc安装包,我们提前下载好,并放在同一个目录下。
相关的依赖包和安装包我会放至文末,请大家自行下载。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
import time
def install_dependencies():
"""
安装依赖
gcc
rpm -Uvh --force --nodeps *.rpm
:return:
"""
os.system("rpm -Uvh --force --nodeps ./gcc/*.rpm")
def install():
"""
安装 redis-6.2.6
过程:
tar -zxvf redis-6.2.6.tar.gz
cd redis-6.2.6
make MALLOC=libc
cd src && make install
cp -R ./src/ /usr/local/redis
cp -R redis.conf /usr/local/redis/
daemonize yes
bind 127.0.0.1 -::1
:return:
"""
os.system("tar -zxvf redis-6.2.6.tar.gz")
os.chdir("redis-6.2.6")
os.system("make MALLOC=libc")
os.chdir("src")
os.system("make install")
os.system("mkdir /usr/local/redis")
os.system("cp -R ./* /usr/local/redis")
os.system("cp ../redis.conf /usr/local/redis/")
with open("/usr/local/redis/redis.conf", "r+") as conf_file:
file_context = conf_file.read()
file_context = file_context.replace("daemonize no", "daemonize yes").replace("bind 127.0.0.1 -::1","bind 0.0.0.0").replace("# requirepass foobared","requirepass 123456")
conf_file.write(file_context)
os.system("/usr/local/redis/redis-server /usr/local/redis/redis.conf")
def detect():
"""
检测是否安装成功
:return:
"""
time.sleep(5)
return True if os.popen("ps -ef|grep redis").read().find(
"redis-server") > 0 else False
def prompt_fail():
"""
安装失败后提示
:return:
"""
print """
\033[5;31;40m 安装失败 \033[0m
"""
def prompt_success():
"""
安装成功后提示
:return:
"""
print """
\033[5;32;40m redis_6.2.6安装成功! \033[0m
使用前注意:
redis已经启动端口为:6379,bind所有网卡,修改为后台启动并进程检测正常。
如不能访问,请检查防火墙。临时测试可以全部关闭防火墙,命令:systemctl stop firewalld
安装路径:/usr/local/redis/
启动命令:/usr/local/redis/redis-server /usr/local/redis/redis.conf
配置文件路径:/usr/local/redis/redis.conf
"""
if __name__ == '__main__':
install_dependencies()
install()
if detect():
prompt_success()
else:
prompt_fail()
添加执行权限
chmod +x install.py
进行一键安装
./install.py
链接:https://pan.baidu.com/s/1BymyktR-gM5i-l_LANSTQA
提取码:1807
二、开机自启设置
1.新建一个系统服务文件
首先输入命令:
vi /etc/systemd/system/redis.service
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart= /usr/local/redis/redis-server /usr/local/redis/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
注:上面的红色 改成你 服务器 redis-server 安装的位置和redis.conf 安装的位置
2.重载系统服务
systemctl daemon-reload
3.启动和查看Redis状态
#1. 启动 redis
systemctl start redis
#2.查看Redis状态
systemctl status redis
4.开机自启命令设置
systemctl enable redis
5.测试
shutdown -r now