zoukankan      html  css  js  c++  java
  • redis 安装并且设置开机后台自动启动(转)

     

    1,安装redis

    1 wget http://download.redis.io/releases/redis-2.8.8.tar.gz
    2 tar xzf redis-2.8.8.tar.gz
    3 cd redis-2.8.8
    4 make

     2,建立Redis目录(非必须)

    这个过程不是必须的,只是为了将Redis相关的资源统一管理而进行的操作。
    执行以下命令建立相关目录并拷贝相关文件至目录中: 
    1 cd redis-2.8.8
    2 mkdir -p /usr/local/redis/bin
    3 mkdir -p /usr/local/redis/etc
    4 mkdir -p /usr/local/redis/var
    5 
    6 cp redis.conf /usr/local/redis/etc/
    7 
    8 cd src 
    9 cp redis-server redis-cli redis-benchmark  /usr/local/redis/bin/

    3,修改redis.conf

        参考http://www.cnblogs.com/yinliang/p/3677827.html

          vi /usr/local/redis/etc/redis.conf 

    4,开启redis远程端口

    开启redis端口,修改防火墙配置文件
          vi /etc/sysconfig/iptables   

    加入端口配置
          -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT   

    5,设置内存分配策略

    /proc/sys/vm/overcommit_memory
    可选值:0、1、2。
    0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
    1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
    2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

        vi /etc/sysctl.conf 

      添加参数

     vm.overcommit_memory = 1 

     后重启系统

    6,配置init脚本

    其实github上很多老外写好的启动脚本,不过大部分都是ubuntu的,对于Centos,也有一份

    https://gist.github.com/1335694
    经过我的修改,如下:

     1 # chkconfig:   2345 90 10
     2 
     3   # description:  Redis is a persistent key-value database
     4 
     5 PATH=/usr/local/bin:/sbin:/usr/bin:/bin
     6 
     7 REDISPORT=6379
     8 EXEC=/usr/local/redis/bin/redis-server
     9 REDIS_CLI=/usr/local/redis/bin/redis-cli
    10 
    11 PIDFILE=/usr/local/redis/var/redis.pid
    12 CONF="/usr/local/redis/etc/redis.conf"
    13 
    14 case "$1" in
    15     start)
    16         if [ -f $PIDFILE ]
    17         then
    18                 echo "$PIDFILE exists, process is already running or crashed"
    19         else
    20                 echo "Starting Redis server..."
    21                 $EXEC $CONF
    22         fi
    23         if [ "$?"="0" ]
    24         then
    25               echo "Redis is running..."
    26         fi
    27         ;;
    28     stop)
    29         if [ ! -f $PIDFILE ]
    30         then
    31                 echo "$PIDFILE does not exist, process is not running"
    32         else
    33                 PID=$(cat $PIDFILE)
    34                 echo "Stopping ..."
    35                 $REDIS_CLI -p $REDISPORT SHUTDOWN
    36                 while [ -x ${PIDFILE} ]
    37                do
    38                     echo "Waiting for Redis to shutdown ..."
    39                     sleep 1
    40                 done
    41                 echo "Redis stopped"
    42         fi
    43         ;;
    44    restart|force-reload)
    45         ${0} stop

    把上述代码存为redis,放到/etc/init.d/下面

     chmod +x /etc/init.d/redis 

    其实做成服务启动,也是调用redis-server,如果想让它在后台作为daemon运行,那么

    需要修改redis.conf,将 daemonize no 改为 daemonize yes

    7,设定开机启动服务 

     sudo chkconfig redis on 

    8,启动,停止redis
    启动:

     service redis start #或者 /etc/init.d/redis start 

    停止: 

      service redis stop #或者 /etc/init.d/redis stop 

    9,查看redis启动日志

     tail -f /usr/local/redis/var/redis.log 


    10,测试redis

    1 redis-cli 
    2 redis 127.0.0.1:6379> set foo 123
    3 OK
    4 redis 127.0.0.1:6379> get foo
    5 "123"
    6 redis 127.0.0.1:6379> exit
     
  • 相关阅读:
    shell script-条件语句、循环语句
    shell script-判断式
    shell script
    AngularJs(Part 11)--自定义Directive
    AngularJS中的DI
    javascript的DI
    一些奇怪的Javascript用法
    AngularJS(Part 10)--页面导航
    URL中#符号的作用
    AngularJs(Part 9)--AngularJS 表单
  • 原文地址:https://www.cnblogs.com/yinliang/p/3678572.html
Copyright © 2011-2022 走看看