• Redis安装笔记


    到官网查找到最新版本https://redis.io/download

    ————————————————
    设置防火墙入站规则

    iptables -I INPUT -p tcp –dport 6379 -j ACCEPT

     保存设置

    service iptables save

     ————————————————-

    安装
    进入下载目录

    cd /usr/local/src

     下载

    wget http://download.redis.io/releases/redis-3.2.9.tar.gz

     解压

    tar xzf redis-3.2.9.tar.gz

     进入程序目录

    cd /usr/local/src/redis-3.2.9

     创建目录

    mkdir -p /usr/local/redis/etc

     编译

    make

     安装

    cd /usr/local/src/redis-3.2.9/src
    make install PREFIX=/usr/local/redis

     拷贝配置文件

    cp /usr/local/src/redis-3.2.9/redis.conf /usr/local/redis/etc

     设置程序后台运行

    vim /usr/local/redis/etc/redis.conf

     将daemonize的值改为yes

    启动

    /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf

     设置开机自启动

    vim /etc/rc.local

     加入

    /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf

     ————————————————

    附:
    配置文件说明
    daemonize:如需要在后台运行,把该项的值改为yes
    pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址
    bind:指定redis只接收来自该IP的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项
    port:监听端口,默认为6379
    timeout:设置客户端连接时的超时时间,单位为秒
    loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice
    logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上
    database:设置数据库的个数,默认使用的数据库是0
    save:设置redis进行数据库镜像的频率
    rdbcompression:在进行镜像备份时,是否进行压缩
    dbfilename:镜像备份文件的文件名
    dir:数据库镜像备份的文件放置的路径
    slaveof:设置该数据库为其他数据库的从数据库
    masterauth:当主数据库连接需要密码验证时,在这里设定
    requirepass:设置客户端连接后进行任何其他指定前需要使用的密码
    maxclients:限制同时连接的客户端数量
    maxmemory:设置redis能够使用的最大内存
    appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态
    appendfsync:设置appendonly.aof文件进行同步的频率
    vm_enabled:是否开启虚拟内存支持
    vm_swap_file:设置虚拟内存的交换文件的路径
    vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0
    vm_page_size:设置虚拟内存页的大小
    vm_pages:设置交换文件的总的page数量
    vm_max_thrrads:设置vm IO同时使用的线程数量

    ————————————————
    功能模块
    redis-benchmark:redis性能测试工具
    redis-check-aof:检查aof日志的工具
    redis-check-dump:检查rdb日志的工具
    redis-cli:连接用的客户端
    redis-server:redis服务进程

    ————————————————
    启动警告错误解决
    启动错误
    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)
    1. echo “vm.overcommit_memory=1” > /etc/sysctl.conf 或 vi /etcsysctl.conf , 然后reboot重启机器
    2. echo 1 > /proc/sys/vm/overcommit_memory 不需要启机器就生效
    第二个警告解决
    1. echo 511 > /proc/sys/net/core/somaxconn
    overcommit_memory参数说明:
    设置内存分配策略(可选,根据服务器的实际情况进行设置)
    /proc/sys/vm/overcommit_memory
    可选值:0、1、2。
    0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
    1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
    2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
    注意:redis在dump数据的时候,会fork出一个子进程,理论上child进程所占用的内存和parent是一样的,比如parent占用 的内存为8G,这个时候也要同样分配8G的内存给child,如果内存无法负担,往往会造成redis服务器的down机或者IO负载过高,效率下降。所 以这里比较优化的内存分配策略应该设置为 1(表示内核允许分配所有的物理内存,而不管当前的内存状态如何)。
    这里又涉及到Overcommit和OOM。

    参考文档
    http://www.cnblogs.com/it-cen/p/4295984.html
    http://skly-java.iteye.com/blog/2167400

  • 相关阅读:
    XSS平台简单使用
    XSS基础笔记 from 《Web安全攻防 渗透测试实战指南》
    《Web安全攻防渗透测试实战指南》 各类型 SQL注入 实验过程整理
    BurpSuite抓取本地包方法
    渗透测试之信息收集(Web安全攻防渗透测试实战指南第1章)
    渗透测试方法论(qf总结)
    Linux Shell脚本简单语法汇总(Deepin下运行)
    写一个方法去掉字符串中的空格
    link 与 @import 区别
    uni-app 开发小工具——uni-toolkit
  • 原文地址:https://www.cnblogs.com/linuxde/p/8707690.html
Copyright © 2020-2023  润新知