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