CentOS 7.2 云主机编译 Redis 5.0 RC4
环境:
uname -a
Linux 10-23-40-136 3.10.0-862.9.1.el7.x86_64 #1 SMP Mon Jul 16 16:29:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
gcc –version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
wget http://download.redis.io/releases/redis-5.0-rc4.tar.gz
tar xf redis-5.0-rc4.tar.gz
cd redis-5.0-rc4
# 32位系统执行下面的行,而后再编译,64位系统不用执行
sed -i '1i\CFLAGS= -march=i686' src/Makefile
make -j `grep processor /proc/cpuinfo | wc -l`
mkdir -p /data/redis/{bin,etc,var}
cp src/{redis-benchmark,redis-check-aof,redis-check-rdb,redis-cli,redis-sentinel,redis-server} /data/redis/bin/
cp redis.conf /data/redis/etc/
sed -i 's@pidfile.*@pidfile /var/run/redis/redis.pid@' /data/redis/etc/redis.conf
sed -i “s@logfile.*@logfile /data/redis/var/redis.log@” /data/redis/etc/redis.conf
sed -i “s@^dir.*@dir /data/redis/var@” /data/redis/etc/redis.conf
sed -i 's@daemonize no@daemonize yes@' /data/redis/etc/redis.conf
sed -i “s@^# bind 127.0.0.1@bind 127.0.0.1@” /data/redis/etc/redis.conf
Mem=`free -m | awk '/Mem:/{print $2}'`
redis_maxmemory=`expr $Mem / 8`000000
[ -z “`grep ^maxmemory /data/redis/etc/redis.conf`” ] && sed -i “s@maxmemory @maxmemory \nmaxmemory `expr $Mem / 8`000000@” /data/redis/etc/redis.conf
useradd -M -s /sbin/nologin redis
chown -R redis:redis /data/redis/{var,etc}
# 建立启动脚本 redis
vi /etc/init.d/redis
#! /bin/sh
### BEGIN INIT INFO
# Provides: redis
# Required-Start: $syslog
# Required-Stop: $syslog
# Should-Start: $local_fs
# Should-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: redis-server – Persistent key-value db
# Description: redis – Persistent key-value db
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/data/redis/bin/redis-server
DAEMON_ARGS=/data/redis/etc/redis.conf
NAME=redis
DESC=redis
PIDFILE=/var/run/redis/redis.pid
PIDDIR=`dirname $PIDFILE`
test -x $DAEMON || exit 0
test -x $DAEMONBOOTSTRAP || exit 0
set -e
case “$1” in
start)
echo -n “Starting $DESC: “
# Make sure the default pidfile directory exists
if [ ! -d $PIDDIR ]; then
install -d -m 0755 -o redis -g redis $PIDDIR
fi
if start-stop-daemon –start –quiet –pidfile $PIDFILE –chuid redis:redis –exec $DAEMON — $DAEMON_ARGS
then
echo “[OK]”
else
echo “failed”
fi
;;
stop)
echo -n “Stopping $DESC: “
if start-stop-daemon –stop –retry 10 –quiet –oknodo –pidfile $PIDFILE –exec $DAEMON
then
echo “[OK]”
else
echo “failed”
fi
;;
status)
if [ ! -r $PIDFILE ] ; then
echo “redis-server is stopped”
exit 0
fi
PID=`cat $PIDFILE`
if ps -p $PID | grep -q $PID; then
echo “redis-server (pid $PID) is running…”
else
echo “redis-server dead but pid file exists”
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo “Usage: /etc/init.d/$NAME {start|stop|restart|status|force-reload}” >&2
exit 1
;;
esac
exit 0
chmod +x /etc/init.d/redis
# Debian
update-rc.d redis defaults
# CentOS
wget http://developer.axis.com/download/distribution/apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz
cd apps/sys-utils/start-stop-daemon-IR1_9_18-2/
cc start-stop-daemon.c -o /sbin/start-stop-daemon
cd ../../../
chkconfig –add redis
chkconfig redis on
# 设置密码,开启远程访问redis
# 修改 /data/redis/etc/redis.conf
# 找到以下行:
# #requirepass
# 去掉注释 # ,并设置密码:
# requirepass newpassword
# 将:
# protected-mode yes
# 改为:
# protected-mode no
# 将:
# bind 127.0.0.1
# 注释掉,或者者改为:
# bind 0.0.0.0
# 启动服务
service redis start
# 本机访问,需要输入密码:
/data/redis/bin/redis-cli
auth newpassword

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » CentOS 7.2 云主机编译 Redis 5.0 RC4