• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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
    

    您可能感兴趣的文章:
    • Linux服务器安装redis数据库图文教程
    • Linux下 php7安装redis的方法
    • Linux下Redis安装教程详解
    • Linux下Redis安装使用教程
    • linux 常见的标识与Redis数据库详解
    上一篇:Ruby中的gem包管理的使用及gem源搭建教程
    下一篇:Ruby与Ruby on Rails框架环境搭建的简明教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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