CentOS7 安装Redis3.2

  1. 下载
  http://redis.cn/download.html

2 . 解压安装

tar  -zxvf redis-3.2.9.tar.gz  # 解压缩

mv redis-3.2.9 /usr/local #移动文件到/usr/local

cd /usr/local/redis-3.2.9

yum install -y  gcc  #可能会缺少gcc依赖, 安装gcc
make # 如果报错可使用make MALLOC=libc   #编译(在reis-3.2.9目录下执行)
  1. 修改配置文件
cd /usr/local/redis-3.2.9
vi redis.conf       #编辑redis.conf 配置文件
必须修改的配置:
       bind : 0.0.0.0  #允许任何ip访问
       daemonize yes #允许后台运行,如果使用docker,请修改为no
  1. 启动
 ./redis-server  /path/to/redis.conf  # 启动并选择使用哪个配置文件
  1. 打开防火墙对应端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd  --reload
  1. 使用以下任意方式查看redis 是否启动:
1. ps -ef | grep redis  #查看redis进程是否启动
2. netstat -ntlp  | grep 6379   #根据端口查看进程 
3. 在redis_home/src 下执行 redis-cli -p 6379 访问redis

7.配置redis 为系统服务
vim /usr/lib/systemd/system/redis.service
在其中添加如下内容

[Unit]
Description=Redis
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid  #根据实际修改
ExecStart=/usr/local/redis/src/redis-server /usr/local/redis/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID 
ExecStop=/bin/kill -s QUIT $MAINPID 
PrivateTmp=true

[Install]
WantedBy=multi-user.target

配置完成,重载系统服务:

systemctl daemon-reload

然后就可以使用一下命令启动redis了

systemctl start redis
或者
service start redis 

redis其他配置详解:

        port 6379      #redis 服务端口
        tcp-backlog 1024 #TCP最大监听队列在高并发的环境下,你需要把这个值调高以避免客户端连接缓慢的问题,Linux 内核限制TCP连接最大监听队列为 /proc/sys/net/core/somaxconn 对应的值(默认128),所以,需要同时调整somaxconn 
        unixsocket /tmp/redis.sock  #如果redis的Server 和client在同一台服务器,可以使用redis.sock通信替代TCP,速度提升非常大
        unixsocketperm 755,指定文件权限
        timeout 0  #client 空闲多少秒之后关闭连接, 0代表禁用,永不关闭
        tcp-keepalive 0  #心跳检测时间,0表示禁用. 推荐60. server端每隔60秒检测一次client, 如果失败会关闭连接
        loglevel notice  #定义日志级别,共分四级,即debug、verbose、notice、warning。
        logfile ""  #定义日志文件的存储位置
        syslog-enabled no #是否将日志输出到系统日志(syslog), syslog可自行百度linux syslog
        syslog-ident redis #设置输出到系统日志时候的标志
        databases 16  #设置数据库数量,默认16
        #rdb 文件的持久化策略 :
        #   900 秒内如果至少有 1 个 key 的值变化,则保存
        #   300 秒内如果至少有 10 个 key 的值变化,则保存
        #   60 秒内如果至少有 10000 个 key 的值变化,则保存
        #全部注释则redis 数据不会持久化到rdb 文件
        save 900 1
        save 300 10
        save 60 10000
        stop-writes-on-bgsave-error yes #当server保存失败时,停止接受写操作
        rdbchecksum yes  #保存rdb文件后是否使用进行数据校验(默认使用CRC64算法)
        dbfilename dump.rdb # rdb文件的保存名称
        dir ./                            #rdb 文件保存路径
        slaveof    #主从同步配置, 配置该redis作为指定ip:port redis 的从库
        masterauth   #如果主库访问需要密码,配置在这里
        slave-serve-stale-data yes  #和主库失去连接时,是否接受客户端的访问请求
        slave-read-only yes  #从库是否设置为只读,默认只读
        repl-ping-slave-period 10  #从库和主库的通信周期
        repl-timeout 60  #主从通信超时时间,必须比repl-ping-slave-period大
        repl-disable-tcp-nodelay no  #主从同步时,是否禁用tcp_delay,no会消耗更多带宽,yes,同步会节省带宽,但是消耗更多时间
        repl-backlog-size 1mb  #同步队列大小, 同步类似mysql使用backlog同步, 每次同步只需同步增量的数据,
        repl-backlog-ttl 3600  # 同步队列等待时间, 如果这么久之后还是连不上从库,就会删除同步队列
        slave-priority 100  #设置从库优先级,主库宕机后,优先级最高的从库会升级为主库(越小越高, 0为永远不会成为主库)
        #下列两个表示:如果有大于等于2个从redis 延迟超过10秒,那么主库就不再接受写请求(有一个设置为0就表示禁用此功能)
        min-slaves-to-write 2
        min-slaves-max-lag 10
        requirepass admin  #默认无密码,如果需要可设置连接密码
        rename-command CONFIG wolfcode_shop_config #redis提供的安全防护功能,将一些危险的指令重命名,防止外部使用此指令执行非法操作,可能会带来一些问题
        maxclients 10000  #最大客户端数量
        maxmemory   #redis最大占用内存数量,一旦到达内存使用上限,redis会按照maxmemory-policy策略来删除部分数据,可以使用此策略保留热门数据,淘汰不常用的数据
        #内存移除规则:
            volatile-lru:使用LRU算法移除过期集合中的key
            allkeys-lru:使用LRU算法移除key
            volatile-random:在过期集合中移除随机的key
            allkeys-random:移除随机的key
            volatile-ttl:移除那些TTL值最小的key,即那些最近才过期的key。
            noeviction:不进行移除。针对写操作,只是返回错误信息。
        #开启AOF模式, AOF模式也是一种持久化方式, 开启后会生成一个aof文件用来记录每一次操作,类似于mysql的重做日志. 而rdb 文件则是有用来记录所有数据. aof 和 rdb 两种持久化方式并不冲突,可以同时使用
        #aof 三种持久化策略
        #no:不即时同步,由操作系统控制何时刷写到磁盘上,这种模式速度最快; 
        #always:每次只写日志,速度较慢,但最安全; 
        #everysec:每秒钟同步一次,折中的方案。
        appendonly no  
        appendfilename "appendonly.aof"  #指定aof 文件的文件名
        appendfsync everysec  #aof 文件的持久化策略

        cluster-enabled yes  #启用,停用集群



你可能感兴趣的:(CentOS7 安装Redis3.2)