Skip to content

Instantly share code, notes, and snippets.

@Dirrk
Created March 29, 2015 20:51
Show Gist options
  • Save Dirrk/a5ead9d25775d492bfdc to your computer and use it in GitHub Desktop.
Save Dirrk/a5ead9d25775d492bfdc to your computer and use it in GitHub Desktop.
redis-install.sh
#!/bin/bash
VERSION=2.8.19
SERVICEDIR=/services/redis
INSTALLDIR=/opt/redis
REDISPASSWORD=hunter2
# Install
if [ ! -e $INSTALLDIR/redis-$VERSION ]; then
cd /tmp
wget http://download.redis.io/releases/redis-$VERSION.tar.gz
tar -xf redis-$VERSION.tar.gz
mkdir -p $INSTALLDIR
mv redis-$VERSION $INSTALLDIR
rm -rf /tmp/redis-*
cd $INSTALLDIR/redis-$VERSION
make
mkdir -p $INSTALLDIR/data
fi
# Create Redis Config
if [ ! -e /etc/redis.conf ]; then
cat <<EOL > /etc/redis.conf
daemonize no
pidfile /var/run/redis.pid
port 6379
timeout 0
tcp-keepalive 0
loglevel notice
logfile "/var/log/redis.log"
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir $INSTALLDIR/data
slave-serve-stale-data yes
slave-read-only yes
repl-disable-tcp-nodelay no
slave-priority 100
requirepass $REDISPASSWORD
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
EOL
fi
if [ ! -e $SERVICEDIR ]; then
mkdir -p $SERVICEDIR
echo "#!/bin/bash" > $SERVICEDIR/run
echo $INSTALLDIR/redis-$VERSION/src/redis-server /etc/redis.conf >> $SERVICEDIR/run
chmod 540 $SERVICEDIR/run
ln -s $SERVICEDIR /service/redis
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment