redis 2.2.12のインストールメモ(amazon Linux)
【これがWebメーラーと驚くほどのUIを持ったWebアプリケーション「ukijs mail」】を動かすまでのメモ(あくまでデモが動くまで) - developer's diaryでインストールしたっきり。
インストールに必要な最低限のソフトウェアを導入
[ec2-user@ip-10-156-17-167 ~]$ sudo su - [root@ip-10-156-17-167 ~]# yum -y install gcc make
インストールはDownload – Redisにある通り
[root@ip-10-156-17-167 ~]# wget http://redis.googlecode.com/files/redis-2.2.12.tar.gz [root@ip-10-156-17-167 ~]# tar xzvf redis-2.2.12.tar.gz [root@ip-10-156-17-167 ~]# cd redis-2.2.12 [root@ip-10-156-17-167 redis-2.2.12]# make [root@ip-10-156-17-167 redis-2.2.12]# make install
設定の変更
[root@ip-10-156-17-167 redis-2.2.12]# cp -p redis.conf redis.conf.org [root@ip-10-156-17-167 redis-2.2.12]# vi redis.conf ~以下の変更 #daemonize no #↓ daemonize yes #logfile stdout #↓ logfile /var/log/redis.log #loglevel verbose #↓ loglevel notice
起動〜実行〜終了確認
[root@ip-10-156-17-167 redis-2.2.12]# redis-server redis.conf >サーバプログラムの起動 [root@ip-10-156-17-167 redis-2.2.12]# src/redis-cli >クライアントの起動 redis 127.0.0.1:6379> set test aaa > testに対してaaaを設定 OK redis 127.0.0.1:6379> get test > testの内容を取得 "aaa" redis 127.0.0.1:6379> exit > クライアントの終了 [root@ip-10-156-17-167 redis-2.2.12]# kill `cat /var/run/redis.pid ` > サーバのプログラム終了
init.dに起動スクリプト作成
nginxの起動スクリプトを元に作成してみた。
[root@ip-10-156-17-167 redis-2.2.12]# mkdir /etc/redis [root@ip-10-156-17-167 redis-2.2.12]# mv redis.conf /etc/redis/ [root@ip-10-156-17-167 redis-2.2.12]# vi /etc/init.d/redis-server
/etc/init.d/redis-server
#!/bin/sh # # redis-server - this script starts and stops the redis-server daemon # # chkconfig: - 85 15 # description: redis-server # processname: redis-server # config: cat /etc/redis/redis.conf # config: /etc/sysconfig/redis # pidfile: /var/run/redis.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 redis="/usr/local/bin/redis-server" prog=$(basename $redis) REDIS_CONF_FILE="/etc/redis/redis.conf" [ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis lockfile=/var/lock/subsys/redis start() { [ -x $redis ] || exit 5 [ -f $REDIS_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $redis $REDIS_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } reload() { echo -n $"Reloading $prog: " killproc $redis -HUP echo } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart) $1 ;; reload) rh_status_q || exit 7 $1 ;; status|status_q) rh_$1 ;; condrestart|try-restart) rh_status_q || exit 7 restart ;; *) echo $"Usage: $0 {start|stop|reload|status|restart}" exit 2 esac
起動スクリプトに実行権限を付与
[root@ip-10-156-17-167 redis-2.2.12]# chmod +x /etc/init.d/redis-server
sysconfigも作成
起動スクリプトにnginxと同様
[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis
を付けたので、ファイルを作成しておく
vi /etc/sysconfig/redis
/etc/sysconfig/redis
# redis-server sysconfig REDIS_CONF_FILE="/etc/redis/redis.conf"
chkconfig の登録
[root@ip-10-156-17-167 redis-2.2.12]# /sbin/chkconfig --add redis-server [root@ip-10-156-17-167 redis-2.2.12]# /sbin/chkconfig --level 345 redis-server on
rebootして起動するか確認
[root@ip-10-156-17-167 redis-2.2.12]# reboot
起動後接続してredisが動いてるか確認する
[ec2-user@ip-10-156-17-167 ~]$ sudo su - [root@ip-10-156-17-167 ~]# cd redis-2.2.12 [root@ip-10-156-17-167 redis-2.2.12]# src/redis-cli