Linux下Redis數(shù)據(jù)庫(kù)的安裝方法與自動(dòng)啟動(dòng)腳本分享
安裝Redis
(1) 下載Redis
wget http://redis.googlecode.com/files/redis-2.2.11.tar.gz tar xzvf redis-2.2.11.tar.gz
(2) 編譯并安裝Redis
make && make install
(3) 復(fù)制并修改配置文件
cp redis.conf /etc/redis.conf vi /etc/redis.conf
注意修改以下幾項(xiàng):
daemonize yes loglevel warning logfile /var/log/redis.log maxmemory 2GB
(自行斟酌是不要開(kāi)通Virtual Memory選項(xiàng))
(4) 設(shè)置Redis-Server自動(dòng)啟動(dòng)服務(wù)
上網(wǎng)下載啟動(dòng)腳本(gist.github.com,搜索redis init.d),并簡(jiǎn)單修改
(至少需要修改redis、REDIS_CONF_FILE)
vi /etc/init.d/redisctl chmod 755 redisctl cp /etc/init.d/redisctl /etc/rc.d/init.d/redisctl \ && ln -s /etc/init.d/redisctl /etc/rc.d/rc2.d/S90redisctl && ln -s /etc/init.d/redisctl /etc/rc.d/rc3.d/S90redisctl \ && ln -s /etc/init.d/redisctl /etc/rc.d/rc4.d/S90redisctl && ln -s /etc/init.d/mongod /etc/rc.d/rc5.d/S90redisctl chkconfig --add redisctl
(5) 重新啟動(dòng)后可以測(cè)試redis-server是否正常啟動(dòng)
```redis-cli set foo Bar redis-cli get foo
Redis自動(dòng)啟動(dòng)腳本
```ruby #!/bin/sh # # redis - this script starts and stops the redis-server daemon # # chkconfig: 2345 90 10 # description: Redis is a persistent key-value database # processname: redis-server # config: /etc/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.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 -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } reload() { echo -n $"Reloading $prog: " killproc $redis -HUP RETVAL=$? echo } force_reload() { restart } 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|configtest) $1 retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } reload() { echo -n $"Reloading $prog: " killproc $redis -HUP RETVAL=$? echo } force_reload() { restart } 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|configtest) $1 retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } reload() { echo -n $"Reloading $prog: " killproc $redis -HUP RETVAL=$? echo } force_reload() { restart } 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|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2 esac
Redis自動(dòng)啟動(dòng)腳本
記得修改:
(1) —chuid group:user
(2) ln /etc/init.d/redisctl /etc/rc2.d/redisctl,重復(fù)rc3,rc4,rc5
啟動(dòng)腳本:
#! /bin/sh ### BEGIN INIT INFO # Provides: redis-server # 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-server - Persistent key-value db ### END INIT INFO DAEMON=/usr/local/bin/redis-server DAEMON_ARGS=/etc/redis.conf NAME=redis-server DESC=redis-server PIDFILE=/var/run/redis.pid test -x $DAEMON || exit 0 test -x $DAEMONBOOTSTRAP || exit 0 set -e case "$1" in start) echo -n "Starting $DESC: " touch $PIDFILE # chown redis:redis $PIDFILE if start-stop-daemon —start —quiet —umask 007 —pidfile $PIDFILE —chuid redis:redis —exec $DAEMON — $DAEMON_ARGS then echo "$NAME." else echo "failed" fi ;; stop) echo -n "Stopping $DESC: " if start-stop-daemon —stop —retry 10 —quiet —oknodo —pidfile $PIDFILE —exec $DAEMON then echo "$NAME." else echo "failed" fi rm -f $PIDFILE ;; restart|force-reload) ${0} stop ${0} start ;; *) echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0
相關(guān)文章
Ruby 中$開(kāi)頭的全局變量、內(nèi)部變量、隱藏變量介紹
這篇文章主要介紹了Ruby 中$開(kāi)頭的全局變量、內(nèi)部變量、隱藏變量介紹,需要的朋友可以參考下2014-04-04詳細(xì)解讀Ruby當(dāng)中的條件判斷語(yǔ)句
這篇文章主要介紹了詳細(xì)解讀Ruby當(dāng)中的條件判斷語(yǔ)句,if、else等邏輯判斷語(yǔ)句是各門編程語(yǔ)言的基礎(chǔ),需要的朋友可以參考下2015-05-05Luhn算法學(xué)習(xí)及其Ruby版實(shí)現(xiàn)代碼示例
Luhn算法主要北用來(lái)進(jìn)行數(shù)字驗(yàn)證,尤其是卡號(hào)身份證號(hào)等,這里我們就來(lái)看一下Luhn算法學(xué)習(xí)及其Ruby版實(shí)現(xiàn)代碼示例:2016-05-05Ruby簡(jiǎn)明教程之循環(huán)語(yǔ)句介紹
這篇文章主要介紹了Ruby簡(jiǎn)明教程之循環(huán)語(yǔ)句介紹,非常簡(jiǎn)潔的講解,可以作為語(yǔ)法備忘,需要的朋友可以參考下2014-06-06使用C++來(lái)編寫(xiě)Ruby程序擴(kuò)展的教程
這篇文章主要介紹了使用C++來(lái)編寫(xiě)Ruby程序擴(kuò)展的教程,本文來(lái)自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下2015-04-04