对redis不是很了解,先写一个简单的安装过程
系统版本:centos 6.5
redis版本:2.8.23
一、安装依赖
sudo yum install tcl gcc gcc-c++ -y
二、安装程序
wget wget https://github.com/antirez/redis/archive/2.8.23.tar.gz
tar -xf wget 2.8.23.tar.gz
cd redis-2.8.23
make PREFIX=/home/nick/redis install 安装到指定路径
make test 测试, 基本都没有问题,而且时间比较长,可以跳过这步
mkdir /home/nick/redis/conf /home/nick/redis/data /home/nick/redis/log /home/nick/redis/pid 创建各个需要的目录
cp redis.conf /home/nick/redis/conf/ 将源码包中的配置文件模板拷贝到程序的conf目录
三、启动
/home/nick/redis/bin/redis-server /home/nick/redis/conf/redis.conf
建议使用supervisor守护进程
使用supervisor的时候要配置上directory 整体如下
[program:redis]
user=nick
command=/home/nick/redis/bin/redis-server /home/nick/redis/conf/redis.conf
directory=/home/nick/redis
启动的时候会报一些warning 如下
1.WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
2.WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
解决方法
第一个警告两个方式解决(overcommit_memory)
- echo "vm.overcommit_memory=1" > /etc/sysctl.conf 或 vi /etcsysctl.conf , 然后reboot重启机器
- echo 1 > /proc/sys/vm/overcommit_memory 不需要启机器就生效
第二个警告解决 - echo 511 > /proc/sys/net/core/somaxconn
四、测试
[nick@VM-WEB-01 conf]$ /home/nick/redis/bin/redis-cli -p 6379
127.0.0.1:6379>
127.0.0.1:6379> set name sunhong
OK
127.0.0.1:6379> get name
"sunhong"
没有问题
五、主从配置
主从配置只需修改slvae的配置文件
在配置文件配置 slaveof 主的ip 端口 如 slaveof 172.100.101.161 6379
进入主的redis /home/nick/redis/bin/redis-cli -p 6379
然后进入从的redis /home/nick/redis/bin/redis-cli -p 6379
这样就ok 了
这里说一些坑
配置文件的logfile 最好写绝对路径 如 /home/nick/redis/log/redis.log
数据文件路径 默认是./ 最好也改成绝对路径 如 /home/nick/redis/data
如果不改,可能会出现不写日志和数据的问题