現狀
對於開發人員來說,部署伺服器環境並不是一個高頻操作。所以就導致絕大部分開發人員不會花太多時間去學習記憶,而是直接百度(有一些同學可能連連結都懶得收藏)。所以到了部署環境的時候就頭疼,甚至是抗拒。除了每次都要折騰個把小時(甚至更久)以外,還會覺得:我是開發不是運維,為什麼要搞這些?有這種想法無可厚非,但公司沒有運維崗位的時候,是不是必須你來做?所以抱怨是沒用的,提升效率才是解決問題的根本。這篇文章可以讓你脫離苦海,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就能用,因為這一篇的內容就是用來提升工作效率的。
過幾天有時間的話,我會把上面提到的方案一寫出來,有興趣可以追一下。