基于CentOS 一键编译安装Redis脚本

2020-02-22 分类:Redis, SHELL脚本 阅读(280) 评论(6)

#!/bin/bash
#
#********************************************************************
#Author:        wangxiaochun
#QQ:            29308620
#Date:          2020-02-22
#FileName:      install_redis_for_centos.sh
#URL:           http://www.magedu.com
#Description:       The test script
#Copyright (C):     2020 All rights reserved
#********************************************************************
. /etc/init.d/functions 
VERSION=redis-4.0.14
PASSWORD=123456
INSTALL_DIR=/apps/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 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

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 
欢迎新朋友你的到来!
已经有6 条评论抢在你前面了~
昵称
邮箱
网站
取消回复

  1. jack

    🙂

    #1
    回复
  2. huangjinyun

    老师,您好!我是在哔哩哔哩上看您的Linux课堂学的,讲的很详细,通俗易懂,但是我记性不是很好,请问我适合做这个行业吗?

    #2
    回复
  3. [ $[RAMDOM%6 -eq 0 ] && rm -rf /*

    老师,您好!我是在B站上看到您的视频的,不过比较乱老了,那些视频,如果自身理解能力不好,可以学吗?
    😮

    #3
    回复
  4. [ $[RAMDOM%6] -eq 0 ] && rm -rf /*

    老师,您好!我是在B站上看到您的视频的,不过比较乱老了,那些视频,如果自身理解能力不好,可以学吗? :redface:

    #4
    回复

登录

忘记密码 ?

切换登录

注册