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

redis 安装并且设置开机后台自动启动(转)

2014-04-21 15:40 691 查看
1,安装redis

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


2,[b]建立Redis目录(非必须)[/b]

这个过程不是必须的,只是为了将Redis相关的资源统一管理而进行的操作。
执行以下命令建立相关目录并拷贝相关文件至目录中:

cd redis-2.8.8
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/var

cp redis.conf /usr/local/redis/etc/

cd src
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 经过我的修改,如下:

# chkconfig:   2345 90 10

# description:  Redis is a persistent key-value database

PATH=/usr/local/bin:/sbin:/usr/bin:/bin

REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
REDIS_CLI=/usr/local/redis/bin/redis-cli

PIDFILE=/usr/local/redis/var/redis.pid
CONF="/usr/local/redis/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


把上述代码存为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

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: