您的位置:首页 > 数据库 > Redis

redis安装部署 启动脚本的编写

2016-11-10 10:41 585 查看
1. 下载地址:

$ wget http://redis.googlecode.com/files/redis-2.6.13.tar.gz
2. 解压缩

$ tar xzf redis-2.6.13.tar.gz

3. 编译

$ cd redis-2.6.13

$ make

$make install

$cp redis.conf /etc/

参数介绍:

make install命令执行完成后,会在/usr/local/bin目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof 、redis-check-dump,它们的作用如下:

redis-server:Redis服务器的daemon启动程序

redis-cli:Redis命令行操作工具。也可以用telnet根据其纯文本协议来操作

redis-benchmark:Redis性能测试工具,测试Redis在当前系统下的读写性能

redis-check-aof:数据修复

redis-check-dump:检查导出工具

4. 修改系统配置文件,执行命令

a) echo vm.overcommit_memory=1 >> /etc/sysctl.conf

b) sysctl vm.overcommit_memory=1 或执行echo vm.overcommit_memory=1 >>/proc/sys/vm/overcommit_memory

使用数字含义:

0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

2,表示内核允许分配超过所有物理内存和交换空间总和的内存

5. 修改redis配置文件

a) $ cd /etc

b) vi redis.conf

c) 修改daemonize yes---目的使进程在后台运行

参数介绍:

daemonize:是否以后台daemon方式运行

pidfile:pid文件位置

port:监听的端口号

timeout:请求超时时间

loglevel:log信息级别

logfile:log文件位置

databases:开启数据库的数量

save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。

rdbcompression:是否使用压缩

dbfilename:数据快照文件名(只是文件名,不包括目录)

dir:数据快照的保存目录(这个是目录)

appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。

appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)

6. 启动redis

a) $ cd /usr/local/bin

b) ./redis-server /etc/redis.conf

7. 检查是否启动成功

a) $ ps -ef | grep redis

添加redis服务启动脚本:

vi /etc/init.d/redis-server

#!/bin/sh 

# redis - this script starts and stops the redis-server daemon 

# chkconfig:   - 85 15
# 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
        ;; 
    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 

chmod +x /etc/init.d/redis-server
chkconfig --add redis-server
chkconfig --level 345 redis-server on
chkconfig --list redis-server
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: