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