redis第二編:Centosの下でRedisを配置して起動する

2625 ワード

1、ダウンロードインストール
wget http://redis.googlecode.com/files/redis-2.2.13.tar.gz
tar -zxf redis-2.2.13.tar.gz
cd redis-2.2.13
make
sudo make install  
cp redis.conf /etc

Installの場合、redisのコマンドは/usr/local/binの下にコピーされます
2、ユーザーとログディレクトリの作成
Redisを最初に起動する前に、Redisのユーザーを個別に作成し、dataとログフォルダを新規作成することをお勧めします.
sudo useradd redis
sudo mkdir -p /var/lib/redis
sudo mkdir -p /var/log/redis
sudo chown redis.redis /var/lib/redis #db      ,   redis.conf
sudo chown redis.redis /var/log/redis

3、initスクリプトの構成
実はgithubには外国人が書いた起動スクリプトがたくさんありますが、ほとんどがubuntuで、Centosにも1部あります.
https://gist.github.com/1335694以下のように修正されました.
###########################
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
   
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
   
PIDFILE=/var/run/redis.pid
CONF="/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
##############################

上記のコードをredisとして保存する、/etc/initに置く.d/以下
chmod +x /etc/init.d/redis

実はサービス起動を行い、redis-serverを呼び出し、バックグラウンドでdaemonとして実行させたい場合は、
redisを変更する必要があります.conf、daemonize noをdaemonize yesに変更
4、起動サービスの設定
sudo chkconfig redis on

5、起動、redis停止
service redis start   #   /etc/init.d/redis start
service redis stop   #   /etc/init.d/redis stop

6,redisのテスト
redis-cli 
redis 127.0.0.1:6379> set foo 123
OK
redis 127.0.0.1:6379> get foo
"123"
redis 127.0.0.1:6379> exit