centos7 安装redis及工程中redis的配置

参考链接:https://www.cnblogs.com/KunGe-13/p/8340309.html

1、安装redis

  • 1).下载压缩包

      http://redis.io/download

      或者用命令下载,wget http://download.redis.io/releases/redis-4.0.10.tar.gz

  • 2).上传到/usr/local文件夹下面,并且解 压

      tar zxvf redis-4.0.10.tar.gz

  • 3).进入usr/local/redis目录下,编译

       make

  • 4).编译成功后,进入src文件夹,执行make install进行Redis安装

      make install

  • 5).创建bin和ect文件夹

       代码如下:

       mkdir -p /usr/local/redis/bin

       mkdir -p /usr/local/redis/ect

  • 6).执行Linux文件移动命令:

      复制代码代码如下:

      [root@CentOS6 redis]# mv redis.conf /usr/local/redis/ect

      [root@CentOS6 redis]# cd src/

      [root@CentOS6 src]# mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server /usr/local/redis/bin

2、后台启动redis服务

  • a) 切换到/usr/local/redis/ect目录,编辑redis.conf文件,将daemonize属性改为yes(表明需要在后台运行)

           #vim redis.conf

  • b)切换到/usr/local/redis/bin目录下执行Redis-server 命令,使用/usr/local/redis/etc/redis.conf 配置文件来启动Redis 服务

          [root@CentOS6 redis]# cd bin/

          [root@CentOS6 bin]# ls

          mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server

          [root@CentOS6 bin]# ./redis-server /usr/local/redis/ect/redis.conf

   

3、注意:

1)工程里面配置redis,加配置文件,内容 如下

<!-- 连接池配置 -->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <!-- 最大连接数 -->
        <property name="maxTotal" value="30" />
        <!-- 最大空闲连接数 -->
        <property name="maxIdle" value="10" />
        <!-- 每次释放连接的最大数目 -->
        <property name="numTestsPerEvictionRun" value="1024" />
        <!-- 释放连接的扫描间隔(毫秒) -->
        <property name="timeBetweenEvictionRunsMillis" value="30000" />
        <!-- 连接最小空闲时间 -->
        <property name="minEvictableIdleTimeMillis" value="1800000" />
        <!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 -->
        <property name="softMinEvictableIdleTimeMillis" value="10000" />
        <!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 -->
        <property name="maxWaitMillis" value="1500" />
        <!-- 在获取连接的时候检查有效性, 默认false -->
        <property name="testOnBorrow" value="false" />
        <!-- 在空闲时检查有效性, 默认false -->
        <property name="testWhileIdle" value="true" />
        <!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true -->
        <property name="blockWhenExhausted" value="false" />
    </bean>  
    <!-- jedis客户端单机版 -->
    <bean id="redisClient" class="redis.clients.jedis.JedisPool">
        <constructor-arg name="host" value="${redis.ip}"></constructor-arg>
        <constructor-arg name="port" value="${redis.port}"></constructor-arg>
        <constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg>
    </bean>
    <bean id="jedisClient" class="com.base.redis.JedisClientSingleService"/>

 并且引入redis地址配置文件

 <bean id="propertyConfigure" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
          <property name="locations"> 
               <list> 
                <value>/WEB-INF/dorado-home/application.properties</value> 
                <value>/WEB-INF/dorado-home/redis.properties</value>
               </list> 
          </property> 
 </bean>

2)redis.propeties,内容 如下

   redis.ip=XX.XX.XX.XX
   redis.port=6379(默认端口)
   redis.auth=123456

  3) redis设置密码访问

   cd进服务器目录/usr/local/redis/ect  ,输入命令./redis-cli(如果切换了端口  ./redis-cli -h 127.0.0.1 -p 6589),第一次进去 没有设置 密 码可以直接 操作

   

   输入命令config set requirepass 123456->123456-是密码

     

4)访问工程 ,使用redis时发现,报错后台操作出错:Could not get a resource from the pool

  此时需要注释redis.conf 里面bind 127.0.0.1,同时放开注释requirepass +密码(笔者在此过程中吃尽了苦头,各种设置 ,一直连不上,然后在所有设置都 对的情况下,重启ecs服务器就好了,万能的重启啊)

 5)查看密码    config get requirepass

 6)输入密码验证    auth yourpassword

 7)  出现redis无法访问,可能原因:1.端口没加入ecs服务器安全规则  2.端口没加入防火墙策略 

4.特别注意的安全性

1)不要使用默认端口,将配置改成其他端口

2)requirepass 放开注释,密码设置复杂点

3)bind 127.0.0.1 放开注释,原则上,只允许哪个机器访问就加上某个ip(实际操作过,只有bind127才能启动成功,加其他的外网ip均启运不了redis,还需研究)

4)将redis的某些得要命令隐藏,经redis.conf里面加上

rename-command FLUSHALL ""

rename-command CONFIG ""

rename-command EVAL ""

5)以低权限运行 Redis 服务,为 Redis 服务创建单独的用户和家目录,并且配置禁止登陆

   参考https://blog.csdn.net/gbenson/article/details/84771231

   因为安全的问题,需要将系统中root运行的redis服务转为普通用户运行,提高安全性,具体系统环境如下:

  • 以root用户装好了redis服务
  • redis根目录位于/usr/local/redis
  • 需要创建普通用户用于启动redis服务

  a.创建普通用户

   $ groupadd admin  #新建admin用户组
   $ useradd boy -g admin  #新建用户boy并加入admin组中

  b.将redis的配置文件复制一份到boy用户的家目录下

   $ \cp -rf /usr/local/redis/etc/redis.conf /home/boy/  #强制复制redis的配置文件到boy用户的家目录下
  c.修改redis配置文件及创建相应的目录

   $ vim /home/boy/redis.conf  #编辑redis配置文件变更以下内容
   将`pidfile /var/run/redis.pid`修改为`pidfile /home/boy/run/redis.pid`
   将`dir ./`修改为`dir /home/boy/redis`

   $ mkdir -p /home/boy/run  #创建run目录
   $ mkdir -p /home/boy/redis  #创建redis目录
   $ chown -R boy:admin /home/boy  #将boy用户家目录下的所有文件所属者与所属组修改为boy:admin

 d.修改redis目录权限及用普通用户启动redis服务

   $ chown -R boy:admin /usr/local/redis  #变更redis目录权限为boy用户所有
   $ su boy  #切换到boy用户
   $ /usr/local/redis/bin/redis-server /home/boy/redis.conf &  #用boy用户后台启动redis

 

至此,redis配置 完成了,工程 也可以正常访问了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值