想做一个抓取系统,想到用redis存储临时数据可能会比较好些,就想着装个虚拟机,在虚拟机上面安装redis,通过本地来访问虚拟机上面的redis。
虚拟机和redis安装成功之后,发现本地怎么都连接不上虚拟机上面的redis,首先注释掉下面的配置(这个是用来限制可以连接的ip的):
#bind 127.0.0.1
这里面我是通过redis manger来连接虚拟机上面的redis的,该软件的配置界面如下:
配置好之后发现怎么也连接不上,但是我的xshell是可以连接到虚拟机的,这个时候就想到可能是端口的问题,(xshell用的是22端口),查找了一堆资料之后,发现还真是由于端口未开放的原因,端口开放需要,需要将该端口开放规则加到iptables中:
iptables –I INPUT –p tcp –-dport 6379 –j ACCEPT
其中 –I 参数就是添加一条规则的意思,还可以用-A添加在最后面,但是我试了会失效,可能是因为前面的规则优先的原因吧,还有待考究
INPUT 是进入规则,同样还有OUTPUT
-p 就是protocol什么协议的意思
--dport是destination port的意思,目标端口
-j就是制定规则的,可以是ACCEPT、DROP
这样就是把规则加进去了,此时可以通过下面的命令查看,可以看到6379已经加进去了:
iptables –L –n | grep 6379
测试在测试一下redis manger,发现已经可以连接上了,但是此时还没有真正保存,重启之后会失效,但是这个还需要用下面的命令进行保存:
service iptables save
该命令会将6379端口规则写入
/etc/sysconfig/iptables
文件中,而不是临时的,重启之后也不会消失,至此虚拟机上面开启redis端口的工作就完成了。