阿里雲部署Redis伺服器遠端連線問題

2022-03-21 04:12:43 字數 1901 閱讀 7464

昨天在阿里雲免費領了乙個月的雲伺服器,就著最近學的springboot,準備做乙個springboot與redis的整合。

因為以前用的redis都是安裝在本地的,使用過程中沒遇到什麼大問題,可是一旦部署到真實的雲伺服器上就出現了一大堆問題,且聽我慢慢道來。

wget

.io/releases/redis-4.0

.9.tar

.gz//解壓

tar xzf redis-4.0

.9.tar

.gz//進入解壓後的目錄

cd redis-4.0

.9//安裝到當前目錄

make

如果make失敗,一般是系統中還未安裝gcc造成的,因為redis是用c語言寫成的,所以需要先通過yum install gcc安裝c語言環境。

安裝redis後,先別慌著啟動,因為redis對遠端連線要求比較苛刻,具體到以下幾點:

redis服務預設只讓本機訪問,因為現在redis是在人家阿里雲的伺服器上,所以需要修改成讓外網也能訪問。主要是修改redis的預設配置檔案reidis.conf。

經過以上幾步後,理論上就可以通過外網訪問到雲伺服器上的redis了。如果現在去啟動redis的服務端,會發現redis只能是前台啟動,在這裡可以通過修改redis.conf裡的daemonize為yes讓redis開啟後台啟動。

因為redis採用的是單程序多執行緒的模式。當redis.conf中選項daemonize設定成yes時,代表開啟守護程序模式。在該模式下,redis會在後台執行,並將程序pid號寫入至redis.conf選項pidfile設定的檔案中,此時redis將一直執行,除非手動kill該程序。

在修改完配置檔案後,我們進入redis-4.0.9的scr目錄,執行以下命令啟動redis的服務端:

./redis-server ../redis.conf
#設定redis主機ip

spring.redis

.host= #你的雲伺服器ip位址

#連線redis服務的密碼

spring.redis

.password= #剛剛在redis.conf中設定的密碼

新增controller如下:

@restcontroller

public

class testredis

}

此時我們啟動專案後,訪問localhost:8080/testredis,出現如下錯誤:

這裡問題就來了,顯示無法連線到redis,此時配置檔案裡面該改到的都已經改了,後來我又想到應該是防火牆的問題,因為redis的埠是6379,伺服器預設是不開啟這個埠的,所以我執行下面命令關閉了防火牆:

sudo service iptables stop
重新訪問url,發現還是報同樣的錯……

於是去請教大神,經過大神的一頓排查,最後告訴我應該是我伺服器的安全組規則的問題。

原來,新建的阿里雲伺服器例項,是預設不讓外網訪問的,乙個例項屬於乙個安全組,這個安全組裡一開始有阿里雲為我們定義的規則,預設是不開放任何tcp埠的,具體的可以檢視官方的介紹:新增安全組規則。

在修改好安全組規則後,再訪問頁面url,頁面顯示success,這下總算是將資料存進去了,使用redis的桌面客戶端也能遠端連線到redis,顯示redis裡面的資料如下:

回頭看來,遠端連線redis的坑基本上是被我踩完了……

阿里雲伺服器部署專案

前期準備 買乙個自己的伺服器 選擇作業系統 介紹的是ubuntu系統 操作步驟 1.解決python直譯器的版本和執行問題 一般情況下伺服器自帶的python版本是2.7的版本,也有python3.5的版本,但是python3.5要啟用.因為現在都大家都使用的是python3.8所以我們都安裝pyt...

阿里雲伺服器部署架構

最近要上馬乙個專案,客戶要求全部部署到阿里雲的伺服器,做了乙個阿里雲的部署方案.上圖 跟傳統的部署相比,用雲盾替代了傳統的防火牆,負載均衡裝置也不用自己買了,購買乙個lbs負載均衡服務可以新增10個負載均衡例項,內網免費.因為專案的出口頻寬可以統一,所以乾脆使用負載均衡的流量費替代了頻寬費用.即在購...

阿里雲部署伺服器流程

1 註冊登入阿里雲賬戶 並申請乙個月免費伺服器 1 註冊登入並實名認證 2 在下列位址中領取新使用者乙個月免費試用 2 找到雲伺服器例項 配置安全組規則 1 在阿里雲介面開啟控制台 點選 雲伺服器ecs 2 點選 雲伺服器1 3 點選右邊 管理 鏈結 4 點選左邊 本例項安全組 5 點選右邊 配置規...