Redis——急速安裝並設定自啟(CentOS)

Max發表於2021-04-24

現狀

對於開發人員來說,部署伺服器環境並不是一個高頻操作。所以就導致絕大部分開發人員不會花太多時間去學習記憶,而是直接百度(有一些同學可能連連結都懶得收藏)。所以到了部署環境的時候就頭疼,甚至是抗拒。除了每次都要折騰個把小時(甚至更久)以外,還會覺得:我是開發不是運維,為什麼要搞這些?有這種想法無可厚非,但公司沒有運維崗位的時候,是不是必須你來做?所以抱怨是沒用的,提升效率才是解決問題的根本。這篇文章可以讓你脫離苦海,10分鐘搞定redis安裝+服務自啟,仔細看。

分析

現有兩種比較實在的解決方案:

其一是通過docker安裝redis,把配置檔案通過資料卷和本地檔案掛鉤。

其二就是通過shell指令碼來幫助我們完成這些機械化的操作。

第一種對新手很不友好,你需要查閱更多的資料,試更多的錯,如果你急於完成工作任務,反而會給你造成更多困擾。為了能真正幫到大家,本文說一下第二種,直接進入正題。

編寫指令碼

首先,進入伺服器任意目錄執行以下命令:

vi redis-install.sh

進入vi編輯器,點選i開啟編輯模式後,把下面程式碼貼上進去(版本、安裝目錄根據自己需要更改):

#!/bin/bash

version="6.2.2"

echo "==========檢查並安裝gcc=========="
yum install -y gcc

echo "==========切換目錄=========="
cd ~

echo "==========下載壓縮包=========="
wget https://download.redis.io/releases/redis-${version}.tar.gz

echo "==========解壓到當前目錄=========="
tar xzf redis-${version}.tar.gz

echo "==========刪除無用檔案=========="
rm redis-${version}.tar.gz

echo "==========切換目錄=========="
cd redis-${version}

echo "==========開始編譯=========="
make

echo "==========開始安裝=========="
make install PREFIX=/usr/local/redis

echo "==========配置檔案=========="
cp ~/redis-6.2.2/redis.conf /usr/local/redis/bin/

echo "==========安裝完成=========="

然後:按下esc——輸入冒號——輸入wq——回車

安裝和配置

shell指令碼已經寫好了,通過sh命令執行:

sh redis-install.sh

執行完畢時就完成安裝操作了。

然後切換到安裝目錄:

cd /usr/local/redis/bin

此目錄下有個redis.conf的檔案,開啟並修改下面這幾項(根據自己需求來):

//是否允許後臺啟動
daemonize no 改為 yes

//設定密碼
requirepass your password

//允許的最大物理儲存空間(示例為1gb)
maxmemory 1073741824

//淘汰規則,規定空間不夠用時如何淘汰已有鍵
maxmemory-policy volatile-ttl

服務自啟

切換到任意目錄,執行以下命令新建服務:

vi /etc/systemd/system/redis.service

和剛才的vi一樣,按下i進入編輯模式,然後拷貝下面程式碼:

[Unit]
Description=redis
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

按下esc——輸入冒號——輸入wq——點選回車。

然後過載本地服務:

systemctl daemon-reload

啟動剛才手寫的服務:

systemctl start redis.service

設定開機啟動:

systemctl enable redis.service

如果沒有任何反饋,代表啟動成功,可以用客戶端軟體連結測試了。

還有一點

這篇文章寫的十分照顧小白(甚至連vi的基本操作都講了),沒有深入去講,基本任誰c+v就能用,因為這一篇的內容就是用來提升工作效率的。

過幾天有時間的話,我會把上面提到的方案一寫出來,有興趣可以追一下。

相關文章