Redis自动安装脚本

一、安装方式

1.yum
2.rpm
3.docker安装
4.编译安装

1、2、3方式比较简单不做介绍,缺点就是1、2在云服务器安装的时候默认是开放端口无密码且root运行,脚本一扫就拿下了整个服务器的权限。shell脚本实现批量自动redis反弹shell攻击
下面是自动编译安装脚本,配置文件已经优化。我使用的是4.0.8版本,需要使用低版本的把文章里面的关键词换掉就好了。(2.8版本手动安装教程http://www.51centos.com/?p=103)
云服务器安装redis需要做好安全策略!!!

二、编译安装脚本

vim nosql_install.sh

#!/bin/bash
##Date 2017/11/30
##create by xingcheng
##function nosql_install.sh



redis_install(){
yum -y install gcc automake autoconf libtool make 
#编译安装
cd /usr/local/src
rm redis-4.0.8.tar.gz redis-4.0.8 -rf
#wget http://download.redis.io/releases/redis-4.0.8.tar.gz
wget http://www.51centos.com/redis-4.0.8.tar.gz
tar zvxf redis-4.0.8.tar.gz
cd redis-4.0.8
make -j4
make PREFIX=/usr/local/redis  install
mkdir -p /usr/local/redis/etc &&  mkdir -p /usr/local/redis/var

########写入redis.conf配置文件########
(cat << EOF
daemonize yes
pidfile /usr/local/redis/var/redis.pid
bind 127.0.0.1
port 6379
timeout 300
loglevel debug
logfile /usr/local/redis/var/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /usr/local/redis/var/
appendonly no
appendfsync always
requirepass zwwl9999

#下面是redis.conf的主 要配置参数的意义:
#daemonize:是否以后台daemon方式运行
#pidfile:pid文件位置
#port:监听的端口号
#timeout:请求超时时间
#loglevel:log信息级别
#logfile:log文件位置
#databases:开启数据库的数量
#save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的>写操作时,自动保存快照。可设置多个条件。
#rdbcompression:是否使用压缩
#dbfilename:数据快照文件名(只是文件名,不包括目录)
#dir:数据快照的保存目录(这个是目录)
#appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
#appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、>每秒启用一次fsync、不调用fsync等待系统自己同步>)
EOF
) > /usr/local/redis/etc/redis.conf

########写入redis启动文件########
echo '#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli

PIDFILE=/usr/local/redis/var/redis.pid
CONF="/usr/local/redis/etc/redis.conf"

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac
' > /etc/init.d/redis

useradd -s /sbin/nologin redis
chmod 777 /usr/local/redis/var && chmod 755 /etc/init.d/redis
/etc/init.d/redis start
}

read -p " Do you want to install redis:Y/N " REDISCONFIRM
if [ "$REDISCONFIRM" = "Y" ] || [ "$REDISCONFIRM" = "y" ];then
    redis_install
else
echo "=================== install the next thing =============="
fi

三、安装
1. 开始安装

sh -x nosql_install.sh
  1. 如果你下载官网的包很慢,替换安装文件内容后重新安装。
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
#替换为
wget http://www.51centos.com/redis-4.0.8.tar.gz
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值