linux 进入redis 数据库,Linux下Redis数据库的安装方法与自动启动脚本分享

安装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) 复制并修改配置文件

cp redis.conf /etc/redis.conf

vi /etc/redis.conf

注意修改以下几项:

daemonize yes

loglevel warning

logfile /var/log/redis.log

maxmemory 2GB

(自行斟酌是不要开通Virtual Memory选项)

(4) 设置Redis-Server自动启动服务

上网下载启动脚本(gist.github.com,搜索redis init.d),并简单修改

(至少需要修改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) 重新启动后可以测试redis-server是否正常启动

```redis-cli set foo Bar

redis-cli get foo

Redis自动启动脚本

```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自动启动脚本

记得修改:

(1) —chuid group:user

(2) ln /etc/init.d/redisctl /etc/rc2.d/redisctl,重复rc3,rc4,rc5

启动脚本:

#! /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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值