想做一個抓取系統,想到用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端口的工作就完成了。