在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

來練習一個寫Redis部署的腳本

阿銘linux ? 來源:阿銘linux ? 作者:阿銘 ? 2022-12-01 09:16 ? 次閱讀

繼Nginx和MySQL的部署腳本之后,相信只要你跟著寫了,那么里面的很多關鍵精髓你已經知曉,今天就來練習一個寫Redis部署的腳本吧。

同樣地,先給出部署步驟:

1)下載

cd /usr/local/src
sudo wget -O redis-7.0.4.tar.gz  https://codeload.github.com/redis/redis/tar.gz/refs/tags/7.0.4

2)安裝

#解壓
sudo tar zxvf redis-7.0.4.tar.gz
cd redis-7.0.4/


## 編譯,安裝并指定路徑
sudo make
sudomakePREFIX=/usr/local/redisinstall


## 創建conf和log目錄
sudo mkdir /usr/local/redis/{conf,log}


## 創建數據目錄
sudo mkdir -p /data/redis


##創建redis服務的用戶,并更改目錄屬主
sudo useradd -s /sbin/nologin redis
sudo chown redis /data/redis /usr/local/redis/log

3)修改配置文件

sudo cp redis.conf /usr/local/redis/conf/
sudo vi /usr/local/redis/conf/redis.conf #修改如下


daemonize no  改為  daemonize yes


logfile ""  改為  logfile "/usr/local/redis/log/redis.log"


dir ./  改為 dir /data/redis


pidfile /var/run/redis_6379.pid 改為  pidfile /usr/local/redis/log/redis_6379.pid


在# requirepass foobared  下面增加一行
requirepass aminglinux.Com

4)定義systemd服務管理腳本

sudo vi /lib/systemd/system/redis.service ##內容如下
[Unit]
Description=redis
After=network.target
[Service]
User=redis
Type=forking
TimeoutSec=0
PIDFile=/usr/local/redis/log/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

5)啟動redis服務

## 更改內核參數
sudo vi /etc/sysctl.conf  #加入兩行
net.core.somaxconn = 2048
vm.overcommit_memory = 1


##使內核參數生效
sudo sysctl -p


##加載redis服務
sudo systemctl daemon-reload


##開啟開機自啟
sudo systemctl enable redis


##啟動服務
sudo systemctl start redis

把部署步驟寫成shell腳本:

#!/bin/bash


ck_ok()
{
        if [ $? -ne 0 ]
        then
                echo "$1 error."
                exit 1
        fi
}




download_redis()
{
    cd /usr/local/src
    if [ -f redis-7.0.4.tar.gz ]
    then
        echo "當前目錄已存在redis-7.0.4.tar.gz"
        echo "檢測MD5"
        file_md5=`md5sum redis-7.0.4.tar.gz | awk '{print $1}'`
        if [ ${file_md5} == '3a2ce76ef8f5ca3cc6463c487f2d532c' ]
        then
            return 0
        else
            echo "file redis-7.0.4.tar.gz md5 check failed"
            /bin/mv redis-7.0.4.tar.gz redis-7.0.4.tar.gz.old
        fi
    fi
    sudo wget -O redis-7.0.4.tar.gz  https://codeload.github.com/redis/redis/tar.gz/refs/tags/7.0.4
    ck_ok "下載redis"
}




install_redis()
{
    cd /usr/local/src
    sudo tar zxf redis-7.0.4.tar.gz
    ck_ok "解壓redis源碼包"
    cd redis-7.0.4/
    sudo make && sudo make PREFIX=/usr/local/redis install
    ck_ok "編譯和安裝redis"




    sudo mkdir -p /usr/local/redis/{conf,log}
    sudo mkdir -p /data/redis
    if id redis &>/dev/null
    then
            echo "系統已經存在redis用戶,跳過創建"
    else
            echo "創建redis用戶"
            sudo useradd -s /sbin/nologin  redis
    fi
    ck_ok "創建redis用戶"
    sudo chown -R redis /data/redis /usr/local/redis/log
}




config_redis()
{
    echo "配置redis.conf"
    sudo /bin/cp /usr/local/src/redis-7.0.4/redis.conf /usr/local/redis/conf/redis.conf
    sudo sed -i 's/daemonize no/daemonize yes/' /usr/local/redis/conf/redis.conf
    sudo sed -i 's@logfile ""@logfile "/usr/local/redis/log/redis.log"@' /usr/local/redis/conf/redis.conf
    sudo sed -i 's@dir ./@dir /data/redis@' /usr/local/redis/conf/redis.conf
    sudo sed -i 's@pidfile /var/run/redis_6379.pid@pidfile /usr/local/redis/log/redis_6379.pid@' /usr/local/redis/conf/redis.conf
    sudo sed -i '/# requirepass foobared/a requirepass aminglinux.Com' /usr/local/redis/conf/redis.conf




    echo "配置systemd service"
    cat >/lib/systemd/system/redis.service <

說明:幾個關鍵要領

1)下載之前要先判斷本地是否已經下載過該包,如果本地已經有包,還需要判斷該包的md5是否符合預期;

2)解壓后和make以及make install后都要做判斷,這是關鍵操作,如果這個沒做對,后面的步驟沒必要執行;

3)創建用戶之前先做判斷,看看用戶是否已經存在;

4)啟動完服務還要檢查服務到底有沒有起來。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • MYSQL數據庫
    +關注

    關注

    0

    文章

    96

    瀏覽量

    9390
  • Redis
    +關注

    關注

    0

    文章

    375

    瀏覽量

    10878

原文標題:快來檢驗一下你到底有沒有掌握這些腳本精髓吧

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    給你部署文檔,你能不能寫腳本出來

    開始shell腳本不是從流水賬開始的?寫著寫著你就會發現,需要在哪里加判斷,在哪里拋出異常。寫著寫著就知道何時用函數,何時用變量。寫著寫著你就會說,shell腳本也就那么回事。
    發表于 11-23 09:07 ?201次閱讀

    通過這個部署腳本看看能否提升你的shell能力

    前幾天給了Nginx部署腳本,今天再來一個MySQL的部署
    發表于 11-29 08:59 ?402次閱讀

    Redis Stream應用案例

    的消息。如果要基于Redis構建IRC系統,那我們不由自主的會想到使用Redis的PUB/SUB功能,可以看到,基于PUB/SUB,只
    發表于 06-26 17:15

    基于shell腳本鍵安裝redis

    linux系統環境使用shell腳本鍵安裝redis的方法
    發表于 08-28 09:07

    redis解決多的競爭問題總結

    redis應該中如何解決多的競爭問題
    發表于 10-08 15:35

    redis集群的如何部署

    redis集群的部署(偽分布式)
    發表于 05-29 17:13

    Docker部署Redis服務器集群的方法

    Docker部署Redis服務器集群
    發表于 06-13 09:12

    shell腳本的經歷記錄

    #cluster_known_nodes不為1,cluster_state為ok時才認為集群正常,才能重啟#下一個pod,改健康檢查腳本旨在維護升級時redis集群狀態,不在operator中維護# 利用好statefulset
    發表于 10-31 18:15

    如何使用redis實現分布式鎖的lua腳本出現和資料說明

    Redis 使用單個 Lua 解釋器去運行所有腳本,并且, Redis 也保證腳本會以原子性(atomic)的方式執行:當某個腳本正在運行的
    的頭像 發表于 12-01 11:00 ?3651次閱讀

    自動化重啟服務腳本

    腳本可以每分鐘執行次,腳本執行時截取上分鐘的日志,可以計算總日志行數,和出現502的行數,計算比例,這里我給大家定
    的頭像 發表于 11-22 10:12 ?1265次閱讀

    Redis性能更強的數據:KeyDB

    KeyDB與Redis協議、模塊和腳本保持完全兼容。這包括對腳本和事務的原子性保證。因為KeyDB與Redis開發保持同步,所以KeyDB是Redi
    的頭像 發表于 03-13 10:55 ?1593次閱讀

    Redis的主從、哨兵、Redis Cluster集群

    + MyBatis Plus + Vue 另外就是保證 Redis服務不中斷 。 對于盡量減少數據丟失,可以通過AOF和RDB保證。 對于保證服務不中斷的話,Redis就不能單點
    的頭像 發表于 06-12 14:58 ?838次閱讀
    <b class='flag-5'>Redis</b>的主從、哨兵、<b class='flag-5'>Redis</b> Cluster集群

    Windows Docker部署Redis的流程

    由于 Docker 部署 Redis 后,Redis 容器中默認是沒有 redis.conf 配置文件的,需要自己手動掛在進去。
    的頭像 發表于 11-27 10:02 ?900次閱讀
    Windows Docker<b class='flag-5'>部署</b><b class='flag-5'>Redis</b>的流程

    redis查看主從節點命令

    服務器的數據復制到其他 Redis 服務器的過程。其中 Redis 服務器作為主服務器,其他 Redis 服務器則作為從服務器。主服務
    的頭像 發表于 12-04 11:44 ?1364次閱讀

    redis容器部署并用編程演示sb整合

    Redis開源的高性能的內存數據庫,常用于緩存、會話管理和消息隊列的存儲。在容器化的架構中,使用容器部署 Redis 可以減輕運維負
    的頭像 發表于 12-05 10:08 ?403次閱讀
    主站蜘蛛池模板: 一级一片一a一片| 久热精品在线视频| 成人黄网大全在线观看| 久久国产免费观看精品| 日本a网| 在线国产资源| 视频在线h| 亚洲丰满熟妇毛片在线播放| 龙口护士门91午夜国产在线| 深夜视频在线播放视频在线观看免费观看 | 欧美人与动欧交视频| 亚洲色四在线视频观看| 丁香五月缴情在线| 日韩精品毛片| 天天操天天擦| 被男同桌摸内裤好爽视频| 激情综合网五月婷婷| 国产大片免费观看中文字幕| 亚洲mv在线观看| 爆操极品美女| 中文字幕在线观看一区| 欧美一级视频在线观看欧美| 亚洲免费视频在线观看| 好男人www社区影视在线| www.色五月| 色多多视频在线观看播放| 婷婷亚洲综合五月天小说在线| 午夜寂寞影视| 精品国产欧美一区二区最新| videos另类重口tv| 四虎成人精品在永久在线观看| 午夜一级| 中文字幕在线第一页| 大片毛片女女女女女女女| 在线观看一二三区| 久久精品视频网站| 91牛牛| 欧美一区二区三区四区视频| 久久黄色网| 色视频久久| 久久久久久国产精品免费免费 |