记录一次生产环境部署出现 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;

}

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



  • 2018-04-13 17:28:33

    jsoup 使用总结4--高级用法之 script js 脚本

    大部分时候,我们使用jsoup解析网页的时候,都是直接找到某一类元素,或者按某种selector查询;具体使用方法可以参考jsoup官网文档 那么你有没有实际操作过,查找script js 脚本呢,因为很多时候页面的内容是根据js动态生成的,或者数据是动态变更;那么这个时候,我们只是获取html页面中script js脚本之间的内容。

  • 2018-04-15 12:56:05

    WebView控件之WebSettings各种配置方法源码总结

    WebSettings用于管理WebView状态配置,当WebView第一次被创建时,WebView包含着一个默认的配置,这些默认的配置将通过get方法返回,通过WebView中的getSettings方法获得一个WebSettings对象,如果一个WebView被销毁,在WebSettings中所有回调方法将抛出IllegalStateException异常。

  • 2018-04-16 07:28:10

    android点击事件,第一次无效,第二次才响应的问题

    今天碰到的问题,android的标题栏一个回退button,每次进入的时候第一次点击无效,一直到第二次点击时才响应,然后把代码copy到系统的回退按钮里面,结果每次都能响应,后面想了想,应该跟焦点有关系

  • 2018-04-18 15:56:00

    linux下如何实现mysql数据库每天自动备份定时备份

    备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,数据库就是一切,所以做好数据库的备份是至关重要的!

  • 2018-04-18 20:44:19

    $(...).live is not a function

    jquery中的live()方法在jquery1.9及以上的版本中已被废弃了,如果使用,会抛出TypeError: $(...).live is not a function错误。

  • 2018-04-19 16:31:03

    mysql双机热备的实现

    准备两个mysql,A和B,A为主,B为从。前提是这两个数据库现在的表结构要一模一样,否则不成功。这个要锁表处理了。