• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >ruby > Linux下Redis数据库的安装方法与自动启动脚本分享

Linux下Redis数据库的安装方法与自动启动脚本分享

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了linux 重启redis,linux卸载redis,linux 查看redis版本,linux 查看redis,linux关闭redis等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

安装Redis

 (1) 下载Redis

wget http://redis.googlecode.com/files/redis-2.2.11.tar.gz
tar xzvf redis-2.2.11.tar.gz
</div>

 (2) 编译并安装Redis

make && make install
</div>

 (3) 复制并修改配置文件

cp redis.conf /etc/redis.conf
vi /etc/redis.conf
</div>

注意修改以下几项:

daemonize yes
loglevel warning
logfile /var/log/redis.log
maxmemory 2GB
</div>

(自行斟酌是不要开通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
</div>

(5) 重新启动后可以测试redis-server是否正常启动

```redis-cli set foo Bar
redis-cli get foo

</div>

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

</div>

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
</div>

</div>

您可能想查找下面的文章:

  • Linux下Redis数据库的安装方法与自动启动脚本分享

相关文章

  • 用Ruby进行CGI编程的入门指引
  • Ruby中操作字符串的一些基本方法
  • Rails中遇到错误跳转到统一提示错误页的方法
  • Jekyll静态网站后台引擎使用教程
  • Ruby中的循环语句的用法教程
  • Ruby中处理时间的一些基本操作
  • 简单的Ruby中的Socket编程教程
  • Ruby升级后no such file to load -- readline解决办法
  • Ruby中嵌套对象转换成json的方法
  • Ruby入门介绍第1/5页

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Ruby 取得指定月日期数的方法
    • 详解Ruby中的instance_eval方法及其与class_eval的对比
    • Ruby self在不同环境的含义
    • Ruby设计模式编程中使用Builder建造者模式的实例
    • 收集的多个ruby遍历文件夹代码实例
    • 使用Ruby实现简单的事物驱动的web应用的教程
    • Ruby的XML格式数据解析库Nokogiri的使用进阶
    • Ruby中使用正则表达式的基础指引
    • Ruby中遍历目录的简洁方法
    • ruby 面向对象思维 概念

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有