前些日子用學(xué)生價(jià)搞了個(gè)阿里云服務(wù)器,尋思著折騰折騰,而且最近在學(xué)習(xí)redis,自然而然的打算將redis部署在服務(wù)器上,誰(shuí)知道這玩意在服務(wù)器本地上玩的好好的,用我windows本本死活都連接不上,好一番折騰??!姑且記錄一下!
redis安裝
關(guān)于安裝這里流水賬記錄下,網(wǎng)上的教程很多,多提一句,redis運(yùn)行環(huán)境一般都是在linux下,不過(guò)微軟搞了個(gè)windows版的可以在windows下使用。咱這里就以Centos 7.2這Linux版本來(lái)運(yùn)行。
下載
wget http://download.redis.io/releases/redis-5.0.9.tar.gz
記得將后面redis的版本改成自己需要的。下載之后建議將安裝包拷貝到usr/local目錄下,然后解壓
tar-vzxf redis-5.0.9.tar.gz
切換到解壓之后的目錄開(kāi)始編譯安裝,可能初次安裝會(huì)失敗,提示缺少gcc編譯器,因?yàn)閞edis是用c語(yǔ)言開(kāi)發(fā)的,不過(guò)一般服務(wù)器上會(huì)自帶,如果出錯(cuò)了,根據(jù)提示安裝gcc編譯器即可。執(zhí)行如下命令編譯安裝:
make
make insatll
安裝之后可以考慮將其配置到環(huán)境變量中,這樣可以在任何地方運(yùn)行。
在redis的解壓目錄中有個(gè)redis.conf文件,這個(gè)是其配置文件,建議單獨(dú)拷貝備份一份,我這里將其拷貝到安裝之后的bin目錄下。
以上操作都正確完成后,bin目錄下的文件如下:
此時(shí),執(zhí)行如下命令即可啟動(dòng)redis
./redis-server
不過(guò)這時(shí)候使用的是默認(rèn)配置文件,redis只能在當(dāng)前線(xiàn)程下運(yùn)行關(guān)閉窗口就停止,后面會(huì)配置以后臺(tái)進(jìn)程的方式運(yùn)行。此外redis自帶了個(gè)客戶(hù)端,另起窗口,運(yùn)行如下命令即可打開(kāi)客戶(hù)端進(jìn)行操作
./redis-cli
不過(guò)這時(shí)候都是在本地操作,遠(yuǎn)程連接redis是連不上的,接下來(lái)我們進(jìn)行相應(yīng)配置。
外網(wǎng)訪(fǎng)問(wèn)redis
要想外網(wǎng)訪(fǎng)問(wèn)redis需要對(duì)配置文件進(jìn)行相應(yīng)配置,一般來(lái)說(shuō)需要配置三處,打開(kāi)redis.conf配置文件,修改如下三處:
第69行
bind 127.0.0.1
這個(gè)位置的bind是配置redis對(duì)外暴露的ip,也就是外網(wǎng)可以通過(guò)哪個(gè)ip來(lái)訪(fǎng)問(wèn)redis,這里建議改成如下,表示可以任意ip訪(fǎng)問(wèn)redis,為了安全也可以將這里改為服務(wù)器ip地址,只能通過(guò)這個(gè)地址,不過(guò)這里需要和阿里云的安全配置策略相呼應(yīng),后面再細(xì)說(shuō)。
bind 0.0.0.0
第88行:
protected-mode yes
這里將yes改為no,否則改了綁定ip地址仍不能訪(fǎng)問(wèn)。
第136行:
daemonize no
這里將no改為yes,表示以后臺(tái)進(jìn)程的方式啟動(dòng)redis。
一般來(lái)說(shuō),通過(guò)上面三步即可通過(guò)外網(wǎng)訪(fǎng)問(wèn)redis,不過(guò)這里我卻死活都連接不到,因?yàn)橛玫氖前⒗镌艵CS服務(wù)器,雖然redis上的相關(guān)配置可以了,但是在服務(wù)器上還需要開(kāi)放相關(guān)端口。
打開(kāi)阿里云的控制面板,找到安全組打開(kāi),如下
為redis創(chuàng)建一個(gè)安全策略,并開(kāi)放相關(guān)端口,如下,注意這里的授權(quán)對(duì)象一定要和redis配置文件中的bind的ip地址相同。
經(jīng)過(guò)上面的配置就可以愉快的用外網(wǎng)連接阿里云服務(wù)器上的redis了。注意要使用到以下命令啟動(dòng)redis,一定要使用到修改后的配置文件,否則還是以默認(rèn)方式啟動(dòng)。
./redis-server./redis.conf
總結(jié)
經(jīng)過(guò)折騰總算可以在外網(wǎng)連接redis,總結(jié)這次排查問(wèn)題的過(guò)程,對(duì)linux端口相關(guān)配置不熟悉,盡管將redis配置妥當(dāng),但是關(guān)于linux的相關(guān)設(shè)置也要了解。