Centos下安装Redis并配置开机启动

13 篇文章 0 订阅

1,首先下载安装

wget http://redis.googlecode.com/files/redis-2.2.13.tar.gz
tar -zxf redis-2.2.13.tar.gz
cd redis-2.2.13
make

安装时候如果报错:
在vps上面编译redis 2.6 由于系统有点老,以至于编不过,报错undefined reference to__sync_add_and_fetch_4′,google了下,发现好多人遇到我同样的问题,

zmalloc.o: In function zmalloc_used_memory':
/home/xx/redis-2.6.2/src/zmalloc.c:223: undefined reference to__sync_add_and_fetch_4′
collect2: ld 返回 1
make[1]: *** [redis-server] 错误 1
make[1]: Leaving directory `/home/xx/redis-2.6.2/src’
make: *** [all] 错误 2

github上面一兄弟在src/Makefile开头加 CFLAGS= -march=i686解决了,但是我试了。继续google,发现google group里有个兄弟编辑了下src/.make_settings里的OPT,改为OPT=-O2 -march=i686。

make过了,但是接下来make test又过不了。报错如下

You need ‘tclsh8.5′ in order to run the Redis test

查了下资料,说是要最新的tcl,那就给你装个最新的吧http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html

安装完后,总算可以了


make test
sudo make install

cp redis.conf /etc

install的时候,redis的命令会被拷贝到/usr/local/bin下面

2,建立用户与日志目录

第一次启动Redis前,建议为Redis单独建立一个用户,并新建data和日志文件夹

sudo useradd redis
sudo mkdir -p /var/lib/redis
sudo mkdir -p /var/log/redis
sudo chown redis.redis /var/lib/redis #db文件放在这里,要修改redis.conf
sudo chown redis.redis /var/log/redis

3,配置init脚本

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

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

###########################

#!/bin/bash
#chkconfig:345 61 61 //此行的345参数表示,在哪些运行级别启动,启动序号(S61);关闭序号(K61);之前序号用124和224都报错,后来改成两位的就成功了,不知道为什么
#description:redis//此行必写,描述服务.

PATH=/usr/local/bin:/sbin:/usr/bin:/bin
 
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
 
PIDFILE=/var/run/redis.pid
CONF="/etc/redis.conf"
 
case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        if [ "$?"="0" ]
        then
              echo "Redis is running..."
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $REDIS_CLI -p $REDISPORT SHUTDOWN
                while [ -x ${PIDFILE} ]
               do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
   restart|force-reload)
        ${0} stop
        ${0} start
        ;;
  *)
    echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
        exit 1
esac
##############################

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

chown +x /etc/init.d/redis

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

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

4,设定开机启动服务
sudo chkconfig redis on
5,启动,停止redis
启动:
service redis start   或者 /etc/init.d/redis start
停止:
service redis stop   或者 /etc/init.d/redis stop
6,测试redis
redis-cli
redis 127.0.0.1:6379> set foo 123
OK
redis 127.0.0.1:6379> get foo
"123"
redis 127.0.0.1:6379> exit
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值