#!/bin/sh
sofeware_file="/home/sofeware"
get_redis_url="http://download.redis.io/releases/redis-4.0.2.tar.gz"
redis_dir="/usr/local/webserver/redis"
if [ -n "$1" ];then
get_redis_url=$1
fi
if [ -n "$2" ];then
redis_dir=$2
fi
if [ ! -d "${sofeware_file}" ];then
mkdir -p ${sofeware_file}
fi
if [ ! -d "${redis_dir}" ];then
mkdir -p ${redis_dir}
fi
cd ${sofeware_file}
redis_file=$(find `dirname $sofeware_file` -name *redis*.tar.gz)
if [ ! -e "${redis_file}" ];then
wget ${get_redis_url}
if [ $? -ne 0 ];then
read -p "Remote access failed, do you use default address access?(y/n)" name
if [ "y" = "$name" ];then
wget http://download.redis.io/releases/redis-4.0.6.tar.gz
if [ $? -ne 0 ]; then
echo "Remote access to redis installation package failed!"
exit 0
fi
else
exit 0
fi
fi
fi
redis_file=$(find `dirname $sofeware_file` -name *redis*.tar.gz)
tar zxvf ${redis_file##*/} -C $redis_dir
if [ $? -ne 0 ];then
exit 0
fi
wj_file=$(ls $redis_dir/ -l| awk '/^d/{print $NF}')
wj_new_file=${redis_dir}/${wj_file}
cd $wj_new_file
make
if [ $? -ne 0 ];then
yum -y install gcc
fi
cd $wj_new_file/src
make install
mkdir ${redis_dir}/bin
mkdir ${redis_dir}/etc
mv ../redis.conf ${redis_dir}/etc
chmod 777 ${redis_dir}/etc/redis.conf
mv mkreleasehdr.sh redis-check-rdb redis-sentinel redis-trib.rb redis-benchmark redis-check-aof redis-cli redis-server ${redis_dir}/bin
sed -i 's/daemonize no/daemonize yes/' ${redis_dir}/etc/redis.conf
sed -i 's/appendonly no/appendonly yes/' ${redis_dir}/etc/redis.conf
sed -i 's/bind 127.0.0.1/# bind 127.0.0.1/' ${redis_dir}/etc/redis.conf
sed -i 's/# requirepass/requirepass/' ${redis_dir}/etc/redis.conf
cd ${redis_dir}/bin
./redis-server ${redis_dir}/etc/redis.conf
linux使用shell脚本安装redis 4.0.6
最新推荐文章于 2025-06-06 13:41:46 发布

本文提供了一种使用Shell脚本一键安装Redis的方法。该脚本能够根据用户提供的URL和目录进行安装配置,并支持默认配置下的安装过程。安装完成后,会对Redis配置文件进行必要的修改以适应生产环境的需求。
859

被折叠的 条评论
为什么被折叠?



