Redis
CentOS
CentOS6.x

Redisインストール〜起動まで

はじめに

他のRedis構築に関するページは以下をご参考ください。
Redis構築のまとめ

環境

CentOS 6.8
Redis 3.2.5(当時の安定バージョン)

インストール手順

  • パッケージインストール yum,wgetを使用します。

1. CentOSに下記の諸々をインストール

yum install wget gcc tcl vim-enhanced -y 

wgetはredis取得のため、gccとtclはmake実行のためです。(vim-enhancedはファイル編集でvim使いたいからインストールしときます。)

2. Redisをダウンロード

$ cd /usr/local
$ wget http://download.redis.io/releases/redis-3.2.5.tar.gz # ここはお好きなバージョンで
$ tar xzf redis-3.2.5.tar.gz
$ cd redis-3.2.5/
$ make # make testをやっておくといいかも
$ make install

make実行時に以下のエラーが出たら

jemalloc/jemalloc.h: No such file or directory

make discleanを実行(参考:http://qiita.com/A-gen/items/345c07d830205a7ea6cb)

3. シンボリックリンクを張る

redis-3.2.5/src/の下にredis-serverとredis-cliのバイナリファイルができるので、/usr/local/binの下にシンボリックリンクを作成する(既存のredis-serverとredis-cliがあれば削除)

$ ln -s /usr/local/redis-3.2.5/src/redis-server /usr/local/bin/redis-server
$ ln -s /usr/local/redis-3.2.5/src/redis-cli /usr/local/bin/redis-cli

4. Redisユーザ及びグループの作成

Redis インスタンスを起動するユーザとグループを作成
ログインが不要な場合はnologin を指定

$ groupadd redis
$ useradd -s /sbin/nologin -M -g redis redis

5. ワークディレクトリの作成

/etc/redis:設定ファイルの格納先
/var/run/redis:データファイルや起動プロセスIDファイルの格納先
/var/log/redis:ログ出力先

$ mkdir /etc/redis /var/run/redis /var/log/redis
$ chmod 755 /etc/redis /var/run/redis /var/log/redis
$ chown redis:redis /etc/redis /var/run/redis /var/log/redis

6. Redis設定ファイルのコピー

$ cp -p /usr/local/redis-3.2.5/redis.conf /etc/redis/6379.conf

7. 設定ファイルを編集

設定ファイル編集は「redis.confの設定内容」を参考にしてください

$pwd
/etc/redis/

# 各サーバの/etc/redis/6379.confに下記の設定を行う
# ポート番号が6379以外の場合は適宜変更して設定

$ vim /etc/redis/6379.conf
---- vim編集(redis.confファイルの設定内容から一部抜粋) ----
daemonize yes
loglevel notice //本番環境等で利用される場合はnoticeが良いかと
logfile "/var/log/redis/6379.log"
pidfile redis_6379.pid
dir /var/run/redis
---------------

参考)http://tweeeety.hateblo.jp/entry/2016/03/14/135551

8. 自動起動スクリプトの設定

ソースからインストールした場合は、自動起動のスクリプトを設定する必要があります。

$ cp -p /usr/local/redis-3.2.5/utils/redis_init_script /etc/init.d/redis

○自動スクリプトファイルを修正
ヘッダの5行目に chkconfig: 345 70 15 を追記します(数字は自動起動の優先度を表します)
プロセスIDファイルの配置場所も変更します

$ vim /etc/init.d/redis
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
# chkconfig: 345 70 15
:
CLIEXEC=/usr/local/bin/redis-cli
#CLIEXEC="/usr/local/bin/redis-cli -a hoge" //Redis接続時にパスワード設定したい場合のみ変更
#PIDFILE=/var/run/redis_${REDISPORT}.pid
PIDFILE=/var/run/redis/redis_${REDISPORT}.pid

$ sudo chkconfig redis on

9. 起動させる

$ /etc/init.d/redis start # service redis start
Starting Redis server...
$ ps -ef | grep redis
root       3328      1  0 05:27 ?        00:00:00 /usr/local/bin/redis-server 127.0.0.1:6379

$ redis-cli
127.0.0.1:6379>ping
PONG

起動成功です。