最近在做一个土地项目的后台,主要是一个信息采集调查系统,使用的框架是:
* 核心框架:Spring Framework 4.2
* 日志管理:SLF4J 1.7、Log4j 1.2
* 视图框架:Spring MVC 4.2
* 服务端验证:Hibernate Validator 5.3
* 持久层框架:MyBatis 3.3
* 数据库连接池:Alibaba Druid 1.0.17
* 工具类框架: commons-fileupload 1.3 ,Jackson 2.7等
这个项目访问量也不大,除了系统内部的用户,不对外开放,考虑这段时间服务端的任务压力不会很大,我准备加个缓存吧,也正好学学新东西,看上了目前很火的缓存框架:Redis;
于是这两天搭linux虚拟机,做redis集群,还算顺利,然而今天准备用Redis Desktop Manager连接Redis 遇到的一系列问题,虐的整个人都不好了;不过没有什么问题是解决不了的,只是投入时间的多少,性价比高不高罢了;
找了好久终于找到一篇和我遇到问题几乎一样的博文:http://www.cnblogs.com/h-change/p/6077874.html;感谢这位哥们;写的这么详细;
下面是我遇到的问题:
(linux命令不熟就直接在虚拟机上操作文件吧,简单粗暴)
一、注释redis.conf文件中的:bind 127.0.0.1(在一段文字之前打#号为注释)
二、设置密码 为了安全一定要设,而且这里如果不绑定ip也不设密码的话,redis是默认保护模式,只能本虚拟机访问,不允许其他ip访问,本人刚开始图方便啥都不设,结果在这里踩坑了;
三、保存配置文件,重启redis服务,查看虚拟机ip;
四、接着又是个坑,拿到IP后,返回Windows,开启cmd,通过telnet命令,测试端口是否畅通。;
这时我返回的是“telnet不是内部或外部命令”;
原因:Windows7系统环境下,Telnet客户端默认是关闭状态。找度娘吧http://jingyan.baidu.com/article/6525d4b1377913ac7d2e94eb.html;
然后再试:
意思是:CentOS的6379端口没有开启;
去开启:
输入firewall-cmd --query-port=6379/tcp,如果返回结果为no,那么证明6379端口确实没有开启。
输入firewall-cmd --add-port=6379/tcp,将6379端口开启,返回success。
然后再执行上一条命令,返回yes,证明端口已经成功开启。
原因:
**由于linux防火墙默认开启,redis的服务端口6379并不在开放规则之内,所有需要将此端口开放访问或者关闭防火墙。
**关闭防火墙命令:sevice iptables stop
**如果是修改防火墙规则,可以修改:/etc/sysconfig/iptables文件
再用Telnet 测.返回的结果一片纯黑,ok了;
然后用redie desktop manager连就可以了: