环境准备

  • 宿主机环境: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

上述 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

安装 GCC

Redis 编译需要 GCC 工具链,首先检查是否已安装:

gcc --version  # 如果输出了 gcc 的版本,则跳过 gcc 的安装

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

yum install gcc -y

中途无报错并且输出类似如下,表示安装成功。

安装 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 安装成功。

基于 Vagrant 手动部署多个 Redis Server的更多相关文章

  1. 基于TLS证书手动部署kubernetes集群(下)

    一.master节点组件部署 承接上篇文章--基于TLS证书手动部署kubernetes集群(上),我们已经部署好了etcd集群.flannel网络以及每个节点的docker,接下来部署master节 ...

  2. (转)基于TLS证书手动部署kubernetes集群(下)

    转:https://www.cnblogs.com/wdliu/p/9152347.html 一.master节点组件部署 承接上篇文章--基于TLS证书手动部署kubernetes集群(上),我们已 ...

  3. 部署解决方案包 (SharePoint Server 2010)

    转:http://technet.microsoft.com/zh-cn/library/cc262995(v=office.14).aspx 本文介绍各个解决方案包,及其在 Microsoft Sh ...

  4. ASP.NET Core:部署项目到Ubuntu Server

    概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整天和Windows打交道的我,初次使用Linux确实有点 ...

  5. Redis Cluster的搭建与部署,实现redis的分布式方案

    前言 上篇Redis Sentinel安装与部署,实现redis的高可用实现了redis的高可用,针对的主要是master宕机的情况,我们发现所有节点的数据都是一样的,那么一旦数据量过大,redi也会 ...

  6. Tomcat手动部署Web项目详细步骤

    阅读须知:文章基于Tomcat8,其它版本若有差异,请自行辨别.本文为博主原创文章,转载请附原文链接. 不借助任何IDE,这里介绍在Tomcat中手动部署web项目的三种方式: 1.部署解包的weba ...

  7. NET Core:部署项目到Ubuntu Server

    NET Core:部署项目到Ubuntu Server 概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整 ...

  8. 基于yum的方式安装Cloudera Manager Server(使用Mysql 8.0版本)

    基于yum的方式安装Cloudera Manager Server(使用Mysql 8.0版本) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装和配置元数据库 1>. ...

  9. 007 Ceph手动部署单节点

    前面已经介绍了Ceph的自动部署,本次介绍一下关于手动部署Ceph节点操作 一.环境准备 一台虚拟机部署单节点Ceph集群 IP:172.25.250.14 内核: Red Hat Enterpris ...

  10. [转载]部署Office Web Apps Server并配置其与SharePoint 2013的集成

    Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...

随机推荐

  1. dbeaver使用详解

    1.dbeaver使用本地驱动 解压 点击可执行文件 驱动管理 新建驱动 起名字 com.mysql.jdbc.Driver jdbc:mysql//{host}[:{port}]/[{databas ...

  2. DashVector + DashScope升级多模态检索

    本教程在前述教程(DashVector + ModelScope玩转多模态检索)的基础之上,基于DashScope上新推出的ONE-PEACE通用多模态表征模型结合向量检索服务DashVector来对 ...

  3. 29.4K star! 仅需几行代码快速构建机器学习 Web 应用项目,无需前端技能!

    大家好,我是狂师! 今天给大家推荐一款开源的Python库:Gradio! Gradio是一个开源的Python库,用于创建机器学习和数据科学的交互式应用和演示. 项目地址: https://gith ...

  4. 解决老旧电脑在win7中浏览器访问https网站出现的Let‘sEncrypt证书过期的问题

    原因LetsEncrypt证书未过期,但是其顶级ca根证书 "DST Root CA X3"在2021-09-01过期了,老旧设备上的win系统会被影响到. 解决步骤下载三张Let ...

  5. CH57x/CH58x/CH59x获取从机广播信息

    有时需要通过主机设备(MCU非手机)获取从设备的广播信息例如广播包,MAC地址,扫描应答包等 以下的程序片段及功能实现是在WCH的CH59X的observer例程上实现的: 1.获取广播包 所有的函数 ...

  6. 8.9考试总结(NOIP模拟34)[Merchant·Equation·Rectangle]

    一个人有表里两面,你能看到的,仅仅是其中一面而已. 今日已成往昔,明日即将到来,为此理所当然之事,感到无比痛心. T1 Merchant 解题思路 我和正解也许就是差了一个函数(我格局小了..) nt ...

  7. Nodejs中间件 中间件分类和自定义中间件

    中间件 中间件理解 中间件可以理解为业务流程的中间处理环节.如生活中吃一般炒青菜,大约分为如下几步骤 express中当一个请求到达的服务器之后,可以在给客户响应之前连续调用多个中间件,来对本次请求和 ...

  8. kettle从入门到精通 第六十六课 ETL之kettle kettle阻塞教程,轻松获取最后一行数据,so easy

    场景:ETL沟通交流群内有小伙伴反馈,如何在同步一批数据完成之后记录下同步结果呢?或者是调用后续步骤.存储过程.三方接口等. 解决:使用步骤Blocking step进行阻塞处理即可. 1.下面的de ...

  9. P9174

    problem & blog 子任务 \(1\) 和子任务 \(2\) 都比较好做.所以我们这里不讲. 状态将是数字 \(n\) (每个颜色的频率的排序数组)的所有分区,因为当我们旋转每种颜色 ...

  10. edge 书签栏 收藏夹栏 字体大小

    WIN10中,edge收藏夹栏字体太大,如果收藏数目多,得多翻好几页. 解决方法: 地址栏中输入: edge://flags/#edge-pc-ui-integration Enable Window ...