基於 Vagrant 手動部署多個 Redis Server

顾平安發表於2024-07-16

環境準備

  • 宿主機環境:Windows 10
  • 虛擬機器環境:Vagrant + VirtualBox

Vagrantfile 配置

首先,我們需要編寫一個 Vagrantfile 來定義我們的虛擬機器配置。假設已經在 D:\Vagrant\redis 目錄下建立了一個 Vagrantfile,其內容如下:

Vagrant.configure("2") do |config|
  config.vm.box = "local_centos7"

  [ "redis1", "redis2", "redis3" ].each_with_index do |name, index|
    config.vm.define name do |node|
      node.vm.network "private_network", ip: "192.168.50.#{index + 101}"
    end
  end

  config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
  end
end

這裡準備建立了 redis1redis3 的虛擬機器,以 redis1 為實操,操作熟練後,其他虛擬機器也是一樣的。

為什麼使用 local_centos7 而不是 centos/7

  • local_centos7 是我們本地已經下載好的 CentOS 7 盒子,使用本地盒子可以避免每次建立虛擬機器時都從網路下載,節省時間和頻寬。

  • CentOS 7 盒子從官網下載有時是非常緩慢的,這裡我提供了咱們國內的下載連結(點這裡跳轉,提取碼:2024

建立本地盒子

在終端(cmd)中進入 Vagrantfile 所在目錄 D:\Vagrant\redis,然後執行以下命令來新增本地盒子:

vagrant box add local_centos7 <CentOS-7...box所在路徑(檔案拖拽到 cmd)>

檢查盒子是否建立成功

  • 檢視終端的輸出提示,如果沒有報錯,說明盒子新增成功。

  • 使用以下命令列出所有安裝的盒子,檢視是否存在 local_centos7

    vagrant box list
    

截圖_20240716133616

上述 Vagrantfile 如已建立(假設所在目錄為:D:\Vagrant\redis),並且 local_centos7 已建立,就已經成功一半了。

啟動虛擬機器

Vagrantfile 所在目錄的終端中執行以下命令啟動虛擬機器:

vagrant up

進入 redis1 虛擬機器

啟動完成後,透過以下命令進入 redis1 虛擬機器:

vagrant ssh redis1

配置 YUM 源

為了提高軟體包的下載速度,我們可以將 YUM 源更換為阿里雲的映象源。

  1. 切換到 root 使用者:

    su  # 提示輸入密碼(vagrant)
    
  2. 下載阿里雲的 CentOS 7 YUM 源配置檔案:

    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
  3. 編輯 YUM 源配置檔案,將 http 替換為 https

    vi /etc/yum.repos.d/CentOS-Base.repo
    

    進入 vi 的命令模式,使用以下命令全域性替換:

    :%s/http:/https:/g
    
  4. 清理 YUM 快取並重新生成快取:

    yum clean all
    yum makecache
    

測試換源是否成功

安裝 wget 以測試換源是否成功:

yum install wget -y

截圖_20240716134647

安裝 GCC

Redis 編譯需要 GCC 工具鏈,首先檢查是否已安裝:

gcc --version  # 如果輸出了 gcc 的版本,則跳過 gcc 的安裝

如果提示:bash: gcc: command not found,那麼就需要安裝:

yum install gcc -y

中途無報錯並且輸出類似如下,表示安裝成功。

截圖_20240716142332

安裝 Redis

  1. 建立 Redis 安裝目錄並下載 Redis 原始碼

    mkdir -p /opt/software/redis && cd /opt/software/redis
    wget https://download.redis.io/redis-stable.tar.gz
    tar -xzf redis-stable.tar.gz && cd redis-stable
    
  2. 編譯並安裝 Redis:

    make install
    
  3. 檢查 Redis 是否安裝完成:

    ll /usr/local/bin | grep redis
    

    如果看到 redis-server, redis-cli 等檔案,說明 Redis 安裝成功。

截圖_20240716150320

相關文章