记录一次生产环境部署出现 ERR unknown command 'CONFIG' 问题,导致启动失败

2020-04-21 15:03:04

参考地址 记录一次生产环境部署出现 ERR unknown command 'CONFIG' 问题,导致启动失败

上面这篇文章详细介绍了怎么解决这个问题,主要发生这个问题,是因为权限不足,我整了半天也没有解决这个问题,后来才知道,我这个是用的别人配置好的redis.conf,里面有句话,把CONFIG命令给重置了,所以我没有权限,不整体看这个配置文件还真不知道怎么办。

重置了CONFIG命令,也是安全考虑。

具体设置看这个连接  

Redis危险命令重命名、禁用


1、问题描述:


CAS登录过程中需要使用redis进行session信息共享,在测试环境发版启动都正常,然而在上线的时候启动直接翻车了......


通过查看启动日志发现报了这个错误信息,最终导致项目启动不了:


redis.clients.jedis.exceptions.JedisDataException: ERR unknown command 'CONFIG'

 查其原因,是由于spring-session调用了CONFIG命令来配置Keyspace notifications功能。


生产环境基于权限的考虑,运维给与的权限相对较低,因此禁用了服务之星CONFIG命令,然后测试环境给与的权限较高,因此在测试环境上会正常启动运行,而到了生产环境直接翻车。


2、解决方案:


第一步:打开redis的Keyspace notifications功能,在redis.conf配置文件里添加下面的配置项:


notify-keyspace-events Ex


第二步:


可以在xml文件中添加此配置:


<util:constant static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>

在 xml文件中添加配置则需要引入对应的util标签。


或者直接添加代码完成:


@Bean

public static ConfigureRedisAction configureRedisAction() {

return ConfigureRedisAction.NO_OP;

}

至此,重新打包发版即可解决。



  • 2020-04-17 11:27:48

    TweenMax中文初级教程一

    TweenMax.js集成了GreenSock动画平台的大部分核心功能,且具有极高的兼容性。

  • 2020-04-17 11:28:35

    TweenMax中文初级教程二

    TimelineMax是GreenSock 动画平台中的动画组织、排序、管理工具,可创建时间轴(timeline)作为动画或其他时间轴的容器,这使得整个动画控制和精确管理时间变得简单,避免了通过反复delay和回调进行动画。 作者:李霖弢 链接:https://www.jianshu.com/p/8c0361e43bf5 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 2020-04-17 11:28:57

    TweenMax中文初级教程三

    动画关键词:CSS(一般可以省略) CSSPlugin用于在TweenMax中对DOM元素的CSS相关属性进行动画 在CSSPlugin中CSS属性需要写成驼峰式,例如font-size应当写作fontSize。有时候你可以在一些默认px为单位的属性中省略单位,CSSPlugin还可以在不同的单位间做动画:

  • 2020-04-17 11:29:23

    TweenMax中文初级教程四

    用于滚动窗口(类似于window.scrollTo(x, y))或DOM元素(如myDiv.scrollTop = y; myDiv.scrollLeft = x;)。滚动窗口时使用window作为动画目标。

  • 2020-04-17 14:06:29

    图片解释EaseIn,EaseOut,EaseInOut

    1.EaseIn:即缓动发生在入口处,也就是刚开始的时候。 2.EaseOut:即缓动发生在出口处,也就是结束之前。 3.EaseInOut:就是两边都有缓动了.

  • 2020-04-21 14:47:13

    Redis危险命令重命名、禁用

    flushdb,清空数据库 flushall,清空所有记录,数据库 config,客户端连接后可配置服务器 keys,客户端连接后可查看所有存在的键

  • 2020-04-21 15:13:15

    redis 简单使用

    Redis和Memcached类似,也属于k-v数据存储 Redis官网 https://redis.io支持更多value类型,除了和string外,还支持hash、lists(链表)、sets(集合)和sorted sets(有序集合) Redis是可以把数据存储在磁盘上的并且使用了两种文件格式:全量数据(RDB)和增量请求(aof)。一般叫做redis持久化 全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载。

  • 2020-04-21 15:14:20

    SpringBoot + Redis:基本配置及使用

    # Redis数据库索引(默认为0) spring.redis.database=0# Redis服务器地址 spring.redis.host=127.0.0.1# Redis服务器连接端口 spring.redis.port=6379# Redis服务器连接密码(默认为空) spring.redis.password=# 连接池最大连接数(使用负值表示没有限制) spring.redis.jedis.pool.max-active=20# 连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.jedis.pool.max-wait=-1# 连接池中的最大空闲连接 spring.redis.jedis.pool.max-idle=10# 连接池中的最小空闲连接 spring.redis.jedis.pool.min-idle=0# 连接超时时间(毫秒) spring.redis.timeout=1000