CentOS 7ソースコードコンパイルインストールRedis

2959 ワード

1.ソースをダウンロードして解凍する
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
tar -xzf redis-4.0.10.tar.gz
cd redis-4.0.10

2.コンパイル
yum -y install gcc gcc-c++ kernel-devel
make

コンパイル完了待ち
3.インストール
make PREFIX=/usr/local/redis install
mkdir /usr/local/redis/etc/
cp redis.conf /usr/local/redis/etc/
cd /usr/local/redis/bin/
cp redis-benchmark redis-cli redis-server /usr/bin/

4.構成の変更
vim /usr/local/redis/etc/redis.conf

#       
# redis          
# no             (       )  
daemonize yes

#               ,   0                                           
timeout 300

#   redis    ,    :notice                    
loglevel verbose

#            ,            redis   :"" 
#          stdout,          /dev/null     
logfile stdout
#       
requirepass 
#   ip
bind 127.0.0.1 

5.環境変数の構成
vim /etc/profile
export PATH="$PATH:/usr/local/redis/bin"
#     

#          
source /etc/profile

6.起動スクリプトの構成
#!/bin/bash
#chkconfig: 2345 80 90
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
REDIS_CLI=/usr/local/redis/bin/redis-cli
   
PIDFILE=/var/run/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
        if [ "$?"="0" ] 
        then
              echo "Redis is running..."
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $REDIS_CLI -p $REDISPORT SHUTDOWN
                while [ -x ${PIDFILE} ]
               do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
   restart|force-reload)
        ${0} stop
        ${0} start
        ;;
  *)
    echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
        exit 1
esac

7.自己起動設定を開く
#        init.d   
cp redis /etc/init.d/

#          
chmod +x /etc/init.d/redis

#       
chkconfig --list

#     
chkconfig --add redis

#       
chkconfig --level 2345 redis on

8.テストの開始
systemctl start redis   #   /etc/init.d/redis start  
systemctl stop redis   #   /etc/init.d/redis stop

#   redis  
ps -el|grep redis

#     
netstat -an|grep 6379