参考链接:https://www.cnblogs.com/KunGe-13/p/8340309.html
1、安装redis
- 1).下载压缩包
或者用命令下载,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配置 完成了,工程 也可以正常访问了