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

}

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



  • 2019-11-26 11:11:59

    正多边形的编程绘制(javascript)

    如何用程序来绘制正多边形? 在一般情况下,会使用 x = radius * Math.cos(angle), y = radius * Math.sin(angle) 来进行绘制,但这是关于x轴对称的,如果遇到正多边形的边数为奇数,而你又希望它是以y轴对称时,可按照下面的方法。

  • 2019-11-26 13:36:28

    Vue组件命名找不到的问题以及如何给vue组件命名

    首先,Vue 会将 template 中的内容插到 DOM 中,以方便解析标签。由于 HTML 标签不区分大小写,所以在生成的标签名都会转换为小写。例如,当你的 template 为 <MyComponent></MyComponent> 时,插入 DOM 后会被转换为 <mycomponent></mycomponent>。 然后,通过标签名寻找对应的自定义组件。匹配的优先顺序从高到低为:原标签名、camelCase化的标签名、PascalCase化的标签名。例如 <my-component>会依次匹配 my-component、myComponent、MyComponent。camelCase 和 PascalCase 的代码

  • 2019-11-28 11:00:35

    Vue子组件调用父组件的方法

    下面有三种方法,我自己重点推荐第一种,毕竟这种简单粗暴好用好理解,不过这个有一个弊端,再组件嵌套组件的时候,尤其是用第三方组件里面调用自己的子组件的时候,其实已经是孙子组件了,这个时候就要parent.parent。。。。,这样就不好了,我们就得考虑其他方法了,具体怎么判断是父组件,还是爷爷组件,我会单独出一篇文章讲述。

  • 2019-11-29 13:04:47

    计算一个多边形的重心点坐标(准确版)

    在之前的 《如何判断一个多边形是否合法》 一文中有提到,用无人机规划飞行路线前,往往需要框选一个多边形的区域。 而在地图控件上显示这个多边形区域时,往往会遇到这样一个需求:需要把所要测绘的多边形区域移动到地图中心。 实现这个需求的基本思路就是:获取到多边形区域的重心点坐标,然后利用地图控件的 setCenter方法,就可以把地图的显示中心移动到多边形区域重心了。那么问题来了,如何求出一个多边形的重心点坐标呢?

  • 2019-11-29 13:06:27

    如何判断一个多边形是否合法

    利用无人机对一片区域进行测绘前,我们会先在地图上框选一个区域,然后再规划飞行的路线,而需要测绘的这片区域往往是一个多边形。在 MeshKit 中,我们加入了多边形区域的编辑功能,其中就涉及判断用户所编辑出来的多边形是否合法的问题。

  • 2019-11-29 13:47:22

    百度地图做电子围栏总结

    在地图上画出围栏,设置围栏信息后保存,生成围栏列表。全选时,地图视野可看到全部的围栏区域,单独勾选会调整地图视野到当前勾选的围栏。围栏区域的中心点要显示围栏名称。