最近在工作中使用到了redis緩存,用來(lái)提某些業(yè)務(wù)場(chǎng)景的計(jì)算速度和某些情況下的操作頻率限制,客戶(hù)端工具使用了redisDesktopmanager來(lái)管理,在本機(jī)操作測(cè)試的時(shí)候,是沒(méi)有問(wèn)題的。但是將系統(tǒng)部署到ecs上之后,想要觀察redis里面的數(shù)據(jù)緩存情況,會(huì)發(fā)現(xiàn)無(wú)法訪問(wèn)惕澎。原因是由于阿里云上面的redis是存在內(nèi)網(wǎng)環(huán)境中的,服務(wù)器可以訪問(wèn),要想在本地訪問(wèn)redis的話,必須要在ecs上搭建一個(gè)內(nèi)網(wǎng)端口映射工具,把來(lái)自外網(wǎng)的請(qǐng)求轉(zhuǎn)發(fā)到內(nèi)網(wǎng)的redis端口上面.下面就來(lái)介紹使用這個(gè)工具rinetd郑临。
rinetd介紹
Rinetd是為在一個(gè)Unix和Linux操作系統(tǒng)中為重定向傳輸控制協(xié)議(TCP)連接的一個(gè)工具。Rinetd是單一過(guò)程的服務(wù)器阁苞,它處理任何數(shù)量的連接到在配置文件etc/rinetd中指定的地址/端口對(duì)。盡管rinetd使用非閉鎖I/O運(yùn)行作為一個(gè)單一過(guò)程祠挫,它可能重定向很多連接而不對(duì)這臺(tái)機(jī)器增加額外的負(fù)擔(dān)那槽。
rinetd安裝
首先,在服務(wù)器上建立一個(gè)文件夾,用來(lái)存放rinetd文件
mkdir /app/rinetd
然后,使用命令下載rinetd壓縮包
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
解壓縮,
tar -zxvf rinetd.tar.gz
這個(gè)時(shí)候,會(huì)有一個(gè)rinetd文件夾,進(jìn)入rinetd文件夾,執(zhí)行make安裝命令
cd /app/rinetd/rinetd
make &make install
接著可能會(huì)提示一個(gè)報(bào)錯(cuò)信息,是說(shuō)在/usr/local/下面缺少一個(gè)man8的文件夾,直接去建立一個(gè),然后重新執(zhí)行make & make install命令,錯(cuò)誤解決,安裝完成。
rinetd配置
rinetd的配置相當(dāng)簡(jiǎn)單,直接在/etc文件下編輯rinetd.conf配置文件即可,命令:
vim /etc/rinetd.conf
配置內(nèi)容如下:
# 格式: ip 端口 redis內(nèi)網(wǎng)地址 redis端口
0.0.0.0 xxx端口 redis.xxx.com 6379
配置完保存退出等舔。
rinetd啟動(dòng)
修改完之后,使用以下命令來(lái)啟動(dòng)rinetd來(lái)進(jìn)行轉(zhuǎn)發(fā):
#關(guān)閉進(jìn)程
pkill rinetd
#啟動(dòng)轉(zhuǎn)發(fā)
#把這條命令加到/etc/rc.local里面就可以開(kāi)機(jī)自動(dòng)運(yùn)行
rinetd -c /etc/rinetd.conf
至此,rinetd成功啟動(dòng),使用以下命令來(lái)查看端口占用情況
netstat -antup
可以看到rinetd是否開(kāi)始正常運(yùn)行骚灸。
總結(jié)
rinetd的安裝和配置是相對(duì)簡(jiǎn)單的,不會(huì)那么復(fù)雜,但是也有幾點(diǎn)要注意的地方:
- rinetd占用的端口不能被其他程序占用,可以使用netstat -antup命令來(lái)查看。
- 運(yùn)行rinetd的系統(tǒng)防火墻應(yīng)該打開(kāi)綁定的端口,比如放在ecs上面,就需要把映射的ecs的端口打開(kāi)慌植。