在阿里雲、華爲雲上,購買了一個雲數據庫Redis,但是我通過本地的客戶端或者程序,沒法通過公網訪問,不造爲啥會有這樣約定俗成的。華爲雲更是有意思,你如果想要開啓公網訪問,你需要額外購買彈性公網IP。
一、雲數據庫Redis版問題
比如說我在華爲雲買了一個雲數據庫Redis。
你如果要開啓公網訪問,你就得買他的彈性公網IP。
但是他這個彈性公網IP賣的啊,比我的雲數據庫Redis和雲主機還貴。
那麼怎麼解決這個問題了。
我們可以通過雲主機搭橋的方式。
首先你需要在對應的雲服務商擁有一臺雲主機機。
比如說,我的雲數據庫是華爲雲的,我在華爲雲也有一臺雲主機,只要雲主機和雲數據庫是在同一個用戶下的。(如果他們在同一個區域也是可以的)。
二、搭橋解決這個外網訪問的問題
- 首先登陸我的雲主機
- 需要執行下面這條語句,安裝
rinetd
(想深入瞭解請搜索)
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd
sed -i 's/65536/65535/g' rinetd.c (修改端口範圍)
mkdir /usr/man&&make&&make install
- 編輯配置文件
rinetd.conf
你需要在這個/etc
目錄下,才能找到這個配置文件
編輯它vi rinetd.conf
把下面這條配置放入其中172.31.79.87
換成你自己的雲Redis內網地址。
0.0.0.0 6379 172.31.79.87 6379
logfile /var/log/rinetd.log
編輯如圖
- 啓動它
運行方式:
- 直接執行
rinetd
- 通過
echo rinetd >>/etc/rc.local
將rinetd
設置爲自啓動。 - 若遇到綁定報錯,可以執行
pkill rinetd
結束進程,再執行rinetd
啓動進程rinetd
。
- 看看是否啓動成功了
netstat -anp | grep 6379
- 現在那就可以訪問了。
你需要配置一下雲主機的安全組。
你可能還需要關閉或者設置一下雲主機防火牆釋放對應端口。
關閉防火牆。
ufw disable
執行結果
root@xqq:~# ufw disable
Firewall stopped and disabled on system startup
- 好了。現在你就可以訪問了。
訪問地址是你的雲主機的,端口是6379。訪問地址是你的雲主機的,端口是6379。
好啦。快去嘗試一下吧。