色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

來練習(xí)一個(gè)寫Redis部署的腳本

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

繼Nginx和MySQL的部署腳本之后,相信只要你跟著寫了,那么里面的很多關(guān)鍵精髓你已經(jīng)知曉,今天就來練習(xí)一個(gè)寫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


## 創(chuàng)建conf和log目錄
sudo mkdir /usr/local/redis/{conf,log}


## 創(chuàng)建數(shù)據(jù)目錄
sudo mkdir -p /data/redis


##創(chuàng)建redis服務(wù)的用戶,并更改目錄屬主
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服務(wù)管理腳本

sudo vi /lib/systemd/system/redis.service ##內(nèi)容如下
[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服務(wù)

## 更改內(nèi)核參數(shù)
sudo vi /etc/sysctl.conf  #加入兩行
net.core.somaxconn = 2048
vm.overcommit_memory = 1


##使內(nèi)核參數(shù)生效
sudo sysctl -p


##加載redis服務(wù)
sudo systemctl daemon-reload


##開啟開機(jī)自啟
sudo systemctl enable redis


##啟動服務(wù)
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 "當(dāng)前目錄已存在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 "系統(tǒng)已經(jīng)存在redis用戶,跳過創(chuàng)建"
    else
            echo "創(chuàng)建redis用戶"
            sudo useradd -s /sbin/nologin  redis
    fi
    ck_ok "創(chuàng)建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 <

說明:幾個(gè)關(guān)鍵要領(lǐng)

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

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

3)創(chuàng)建用戶之前先做判斷,看看用戶是否已經(jīng)存在;

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






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • MYSQL數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    0

    文章

    96

    瀏覽量

    9534
  • Redis
    +關(guān)注

    關(guān)注

    0

    文章

    380

    瀏覽量

    11046

原文標(biāo)題:快來檢驗(yàn)一下你到底有沒有掌握這些腳本精髓吧

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

收藏 人收藏

    評論

    相關(guān)推薦

    給你部署文檔,你能不能寫個(gè)腳本出來

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

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

    前幾天給了個(gè)Nginx部署腳本,今天再來一個(gè)MySQL的部署
    發(fā)表于 11-29 08:59 ?428次閱讀

    Redis Stream應(yīng)用案例

    的消息。如果要基于Redis構(gòu)建個(gè)IRC系統(tǒng),那我們不由自主的會想到使用Redis的PUB/SUB功能,可以看到,基于PUB/SUB,只
    發(fā)表于 06-26 17:15

    基于shell腳本鍵安裝redis

    linux系統(tǒng)環(huán)境使用shell腳本鍵安裝redis的方法
    發(fā)表于 08-28 09:07

    redis解決多的競爭問題總結(jié)

    redis應(yīng)該中如何解決多的競爭問題
    發(fā)表于 10-08 15:35

    redis集群的如何部署

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

    Docker部署Redis服務(wù)器集群的方法

    Docker部署Redis服務(wù)器集群
    發(fā)表于 06-13 09:12

    shell腳本的經(jīng)歷記錄

    #cluster_known_nodes不為1,cluster_state為ok時(shí)才認(rèn)為集群正常,才能重啟#下一個(gè)pod,改健康檢查腳本旨在維護(hù)升級時(shí)redis集群狀態(tài),不在operator中維護(hù)# 利用好statefulset
    發(fā)表于 10-31 18:15

    如何使用redis實(shí)現(xiàn)分布式鎖的lua腳本出現(xiàn)和資料說明

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

    個(gè)自動化重啟服務(wù)腳本

    腳本可以每分鐘執(zhí)行次,腳本執(zhí)行時(shí)截取上分鐘的日志,可以計(jì)算總?cè)罩拘袛?shù),和出現(xiàn)502的行數(shù),計(jì)算比例,這里我給大家定
    的頭像 發(fā)表于 11-22 10:12 ?1336次閱讀

    個(gè)Redis性能更強(qiáng)的數(shù)據(jù):KeyDB

    KeyDB與Redis協(xié)議、模塊和腳本保持完全兼容。這包括對腳本和事務(wù)的原子性保證。因?yàn)镵eyDB與Redis開發(fā)保持同步,所以KeyDB是Redi
    的頭像 發(fā)表于 03-13 10:55 ?1644次閱讀

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

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

    Windows Docker部署Redis的流程

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

    redis查看主從節(jié)點(diǎn)命令

    服務(wù)器的數(shù)據(jù)復(fù)制到其他 Redis 服務(wù)器的過程。其中個(gè) Redis 服務(wù)器作為主服務(wù)器,其他 Redis 服務(wù)器則作為從服務(wù)器。主服務(wù)
    的頭像 發(fā)表于 12-04 11:44 ?1515次閱讀

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

    Redis個(gè)開源的高性能的內(nèi)存數(shù)據(jù)庫,常用于緩存、會話管理和消息隊(duì)列的存儲。在容器化的架構(gòu)中,使用容器部署 Redis 可以減輕運(yùn)維負(fù)
    的頭像 發(fā)表于 12-05 10:08 ?475次閱讀
    主站蜘蛛池模板: 柏木舞子在线 | G0GO人体大尺香蕉 | 国产h视频在线观看网站免费 | 亚洲AV无码乱码国产精品品麻豆 | 1313久久国产午夜精品理论片 | 小SAO货水真多把你CAO烂 | 日本无码人妻精品一区二区视频 | 亚洲欧美高清在线精品一区 | 亚洲精品高清在线观看 | 求个av网站 | 印度最猛性ⅹxxxxx | 中文字幕一区二区三区在线不卡 | 亚洲高清免费在线观看 | 麒麟色欧美影院在线播放 | 亚洲精品国偷拍自产在线观看蜜臀 | 男人的天堂MV在线视频免费观看 | 果冻传媒在线观看网站 | 国产精品日本无码久久一老A | 亚洲免费人成在线视频观看 | 无码专区无码专区视频网网址 | 农民下乡在线观看3 | 国产精品无码视频一区二区 | 91av电影在线观看 | 国产精品97久久AV色婷婷综合 | 精品国产福利在线视频 | 无码乱人伦一区二区亚洲一 | 麻豆免费高清完整版 | 亚洲人成77777在线视频 | 13一18TV处流血TV | 日夜啪啪一区二区三区 | 印度性hd18| 国模玲玲自拍337p | 精品久久久麻豆国产精品 | 国产高清在线观看视频 | 国产成人啪精视频精东传媒网站 | 国产AV一区二区三区传媒 | 成人性生交大片 | WWW国产亚洲精品久久久日本 | 午夜国产精品免费观看 | 丰满人妻熟女色情A片 | 草莓视频在线看免费高清观看 |