Redis教程

基于CentOS7 一键编译 redis 5安装脚本

本文主要是介绍基于CentOS7 一键编译 redis 5安装脚本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#!/bin/bash
# 编译安装Redis

source /etc/init.d/functions
#Redis版本
Redis_version=redis-5.0.9
suffix=tar.gz
Redis=${Redis_version}.${suffix}
Password=123456

#redis源码下载地址
redis_url=http://download.redis.io/releases/${Redis}
#redis安装路径
redis_install_DIR=/apps/redis

# CPU数量
CPUS=`lscpu|grep "^CPU(s)"|awk '{print $2}'`

color () {
if [[ $2 -eq 0 ]];then
    echo -e "\e[1;32m$1\t\t\t\t\t\t[  OK  ]\e[0;m"
else
    echo $2
    echo -e "\e[1;31m$1\t\t\t\t\t\t[ FAILED ]\e[0;m"
fi
}


download_redis (){
# 安装依赖包
yum -y install gcc jemalloc-devel || { color "安装依赖包失败,请检查网络" 1 ;exit 1;}

cd /opt
if [ -e ${Redis} ];then
	color "Redis源码包已存在" 0
else
	color "开始下载Redis源码包" 0
	wget ${redis_url}
	if [ $? -ne 0 ];then
		color "下载Redis源码包失败,退出!" 1
		exit 1
	fi
fi
}


install_redis (){
# 解压源码包
tar xvf /opt/${Redis} -C /usr/local/src
ln -s /usr/local/src/${Redis_version} /usr/local/src/redis

# 编译安装
cd /usr/local/src/redis
make -j ${CPUS} install PREFIX=${redis_install_DIR}
if [ $? -ne 0 ];then
	color "redis 编译安装失败!" 1
	exit 1
else
	color "redis编译安装成功" 0
fi

ln -s ${redis_install_DIR}/bin/redis-* /usr/sbin/

# 添加用户
if id redis &> /dev/null;then
	color "redis用户已存在" 1
else
	useradd -r -s /sbin/nologin redis
	color "redis用户已创建完成" 0
fi
mkdir -p ${redis_install_DIR}/{etc,log,data,run}

#准备redis配置文件
cp redis.conf ${redis_install_DIR}/etc/
sed -i "s/bind 127.0.0.1/bind 0.0.0.0/" ${redis_install_DIR}/etc/redis.conf
sed -i "/# requirepass/a requirepass ${Password}" ${redis_install_DIR}/etc/redis.conf
sed -i "s@^dir .*\$@dir ${redis_install_DIR}\/data@" ${redis_install_DIR}/etc/redis.conf
sed -i "s@^logfile .*\$@logfile ${redis_install_DIR}\/log\/redis-6379.log@" ${redis_install_DIR}/etc/redis.conf
sed -i "s@^pidfile .*\$@pidfile ${redis_install_DIR}\/run\/redis-6379.pid@" ${redis_install_DIR}/etc/redis.conf

chown -R redis:redis ${redis_install_DIR}

cat >> /etc/sysctl.conf <<EOF
net.core.somaxconn = 1024
vm.overcommit_memory = 1
EOF
sysctl -p

echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
source /etc/rc.d/rc.local


# 准备service服务
cat > /usr/lib/systemd/system/redis.service <<EOF
[Unit]
Description=redis persistent key-value database
After=network.target

[Service]
ExecStart=${redis_install_DIR}/bin/redis-server ${redis_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

chown -R redis:redis ${redis_install_DIR}
systemctl daemon-reload
systemctl enable --now redis
systemctl is-active redis

if [ $? -ne 0 ];then
	color "redis服务启动失败!" 1
	exit 1
else
	color "redis服务启动成功" 0
	color "redis安装已完成" 0
fi
}


download_redis

install_redis

exit 0
这篇关于基于CentOS7 一键编译 redis 5安装脚本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!