ROOT权限操作
一. redis安装
- 编译安装
#tar zxvf redis-2.8.17.tar.gz
#cd redis-2.8.17
#make
#make test
#make install
#make distclean清除上次编译的残留文件
-
拷贝配置文件
#mkdir /etc/redis
#cp redis.conf /etc/redis/redis.conf -
修改配置文件
修改redis.conf,改为后台启动
#vi /etc/redis/redis.conf
daemonize yes
二. 系统参数
需要先配置下面的内核参数,否则redis脚本在重启或停止redis时,将会报错,并且不能自动在停止服务前同步数据到磁盘上。
#vi /etc/sysctl.conf
vm.overcommit_memory = 1
使用内核参数生效
#sysctl -p
内核参数说明如下:
overcommit_memory文件指定了内核针对内存分配的策略,其值可以是0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
三. 编写redis启动脚本
#vi /etc/init.d/redis
#!/bin/bash
#redis - this script starts and stops the redis-server daemon
#chkconfig: - 80 12
#description: Redis is a persistent key-value database
#processname: redis-server
#config: /etc/redis/redis.conf
#pidfile: /var/run/redis.pid
source /etc/init.d/functions
BIN="/usr/local/bin/"
CONFIG="/etc/redis/redis.conf"
PIDFILE="/var/run/redis.pid"
###Read configuration
[ -r “KaTeX parse error: Expected 'EOF', got '&' at position 14: SYSCONFIG" ] &̲& source "SYSCONFIG”
RETVAL=0
prog=“redis-server”
desc=“Redis Server”
start() {
if [ -e $PIDFILE ];then
echo "$desc already running...."
exit 1
fi
echo -n $"Starting $desc: "
daemon $BIN/$prog $CONFIG
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
return $RETVAL
}
stop() {
echo -n $"Stop $desc: "
killproc p r o