一键编译安装Redis脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
cat install_redis_for_centos.sh
#!/bin/bash
. /etc/init.d/functions
VERSION=redis-5.0.7
PASSWORD=123456
INSTALL_DIR=/usr/local/redis
 
install() {
yum  -y install gcc jemalloc-devel || { action "安装软件包失败,请检查网络配置" false ; exit; }
 
wget http://download.redis.io/releases/${VERSION}.tar.gz || { action "Redis 源码下载失败" false ; exit; }
 
tar xf ${VERSION}.tar.gz
cd ${VERSION}
make -j 4 PREFIX=${INSTALL_DIR} install && action "Redis 编译安装完成" || { action "Redis 编译安装失败" false ;exit ; }
 
ln -s ${INSTALL_DIR}/bin/redis-/usr/bin/
mkdir -p ${INSTALL_DIR}/{etc,logs,data,run}
#cp sentinel.conf ${INSTALL_DIR}/etc/
cp redis.conf  ${INSTALL_DIR}/etc/
sed -i.bak -e 's/bind 127.0.0.1/bind 0.0.0.0/' -e "/# requirepass/a requirepass $PASSWORD"  ${INSTALL_DIR}/etc/redis.conf
 
if id redis &> /dev/null ;then
    action "Redis 用户已存在" false 
else
    useradd -r -s /sbin/nologin redis
    action "Redis 用户创建成功"
fi
 
chown -R redis.redis ${INSTALL_DIR}
 
cat >> /etc/sysctl.conf <<EOF
net.core.somaxconn = 1024
vm.overcommit_memory = 1
EOF
 
echo never > /sys/kernel/mm/transparent_hugepage/enabled
 
cat > /usr/lib/systemd/system/redis.service <<EOF
[Unit]
Description=Redis persistent key-value database
After=network.target
 
[Service]
ExecStart=${INSTALL_DIR}/bin/redis-server ${INSTALL_DIR}/etc/redis.conf --supervised systemd
ExecStop=/bin/kill -s QUIT \$MAINPID
Type=notify
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
 
[Install]
WantedBy=multi-user.target
EOF
 
systemctl daemon-reload
systemctl start redis &> /dev/null && action "Redis 服务启动成功,Redis信息如下:" || { action "Redis 启动失败" false ;exit; }
 
redis-cli -a $PASSWORD INFO Server 2> /dev/null
}
install

  

posted @   yuanbangchen  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示