• redis源码安装



    #安装目录

    mkdir -p /data/apps/redis
    cd /data/tgz
    wget http://download.redis.io/releases/redis-3.2.1.tar.gz
    cd redis-3.2.1
    make PREFIX=/data/apps/redis install #安装到指定目录中

    #在安装redis成功后,你将可以在/data/apps/redis看到一个bin的目录,里面包括了以下文件:

    redis-benchmark
    
    redis-check-aof
    
    redis-check-dump
    
    redis-cli redis-server

    redis-server:Redis服务器的daemon启动程序
    redis-cli:Redis命令行操作工具。或者通过telnet进行纯文本协议操作
    redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能

    #将redis做成一个服务
    #必须将其复制到/etc/rc.d/init.d的目录下,将redis_init_script复制到/etc/rc.d/init.d/,同时易名为redis。

    cp /data/tgz/redis-3.2.1/utils/redis_init_script /etc/rc.d/init.d/redis

    #如果这时添加注册服务:
    chkconfig --add redis
    #将报以下错误:
    redis服务不支持chkconfig
    #为此,我们需要更改redis脚本。

    vim /etc/rc.d/init.d/redis
    #!/bin/sh 
    #chkconfig: 2345 80 90 #添加这一行
    
    #同时修改
    EXEC=/data/apps/redis/bin/redis-server
    CLIEXEC=/data/apps/redis/bin/redis-cli


    #将redis配置文件拷贝到/etc/redis/${REDISPORT}.conf

    mkdir /etc/redis
    cp /data/tgz/redis-3.0.7/redis.conf /etc/redis/6379.conf
    cp /data/tgz/redis-3.0.7/redis.conf /data/apps/redis/bin/redis.conf


    redis配置密码,尤为重要
    去掉行前的注释,并修改密码为所需的密码,保存文件

    #requirepass foobared 
    requirepass mypasswd

    由于未设置密码引起的问题:

    #安全起见,密码必须设置,否则容易遭受攻击,具体请见以下博客:
    redis未授权访问缺陷
    http://my.oschina.net/huihua/blog/697300
    http://blog.csdn.net/u010391029/article/details/51711185
    http://www.th7.cn/db/nosql/201606/193670.shtml
    http://www.tuicool.com/articles/bMFbIzU
    http://my.oschina.net/huihua/blog/697300
    解决方案
    http://blog.csdn.net/fgf00/article/details/51388422
    http://www.8090st.com/linux-bingdu-kill.html
    http://www.ipastimes.com/post/86.html

    redis安全设置
    https://ruby-china.org/topics/28094
    http://blog.csdn.net/21aspnet/article/details/50578668
    http://blog.csdn.net/hel12he/article/details/46911159
    http://www.111cn.net/sys/centos/85890.htm
    https://www.phpxun.com/post/136.html
    http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/
    http://www.ctohome.com/FuWuQi/33/627.html


    redis的持久化有rdb和aof两种。
    rdb是记录一段时间内的操作,一盘的配置是一段时间内操作超过多少次就持久化。
    aof可以实现每次操作都持久化。
    这里我们使用aof。

    配置方式,打开redis的配置文件。找到appendonly。默认是appendonly no。改成appendonly yes。

    redis.conf参数,具体参考博文:

    http://www.cnblogs.com/joshua317/p/5635297.html


    daemonize:是否以后台daemon方式运行
    pidfile:pid文件位置
    port:监听的端口号
    timeout:请求超时时间
    loglevel:log信息级别
    logfile:log文件位置
    databases:开启数据库的数量
    save * *:保存快照的频率,第一个*表示多长时间(秒级),第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
    rdbcompression:是否使用压缩
    dbfilename:数据快照文件名(只是文件名,不包括目录)
    dir:数据快照的保存目录(这个是目录)
    appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
    appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
    slaveof :主从配置,在redis-slave上配置master的ip port,即可


    这样,redis服务脚本指定的CONF就存在了。默认情况下,Redis未启用认证,可以通过开启6379.conf的requirepass 指定一个验证密码。

    #注册redis服务:

    chkconfig --add redis
    chkconfig redis on

    将Redis的命令所在目录添加到系统参数PATH中
    vi /etc/profile
    在最后行追加:
    export PATH="$PATH:/data/apps/redis/bin"

    然后马上应用这个文件:
    ./etc/profile
    或者
    source /etc/profile

    这样就可以直接调用redis-cli的命令了,如下所示:
    redis-cli
    redis 127.0.0.1:6379> auth mypasswd
    OK
    redis 127.0.0.1:6379>

    #启动redis服务

    #1.直接启动

    ./redis-server ./redis.conf &

    #如果更改了端口,使用`redis-cli`客户端连接时,也需要指定端口,例如:

    redis-cli -p 6380

    #2 使用Redis启动脚本设置开机自启动(推荐)

    service redis start

    #关闭redis

    ./redis-cli -a mypasswd save
    #或者使用bgsave命令

    #关闭

    redis-cli shutdown
    #因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的
    kill -9 PID
    #指定密码关闭
    /data/apps/redis/bin/redis-cli -a mypasswd shutdown

    备注:

    #关闭redis,关闭之前先保存
    ./redis-cli -a pwd -p 6379 save #保存
    ./redis-cli -a pwd -p 6379 shutdown #关闭
    
    #启动redis
    ./redis-server ./redis.conf &
    
    
    #备注:生产环境,保存数据 使用 BGSAVE 命令,在生产环境很少执行 SAVE 操作,因为它会阻塞所有客户端
  • 相关阅读:
    开源工作流 Bonita BPM (JAVA)
    java怎么样判断一个进程是否已近结束
    struts2 Annotation 实现文件下载功能 文件名中文乱码问题
    struts2中s:radio标签的使用 Map
    Win7下声音由小逐渐变大
    JSTL EL 详解
    CHM格式 打开后不显示内容的解决办法
    jquery radio 判断是否被选中的例子
    火狐的funmoods都已经清除了,config里怎么还有他它的项目
    由MyEclipse内存不足谈谈JVM内存
  • 原文地址:https://www.cnblogs.com/joshua317/p/5635483.html
Copyright © 2020-2023  润新知