基于 Vagrant 手动部署多个 Redis Server
环境准备
- 宿主机环境: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
这里准备创建了
redis1至redis3的虚拟机,以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 源更换为阿里云的镜像源。
切换到
root用户:su # 提示输入密码(vagrant)
下载阿里云的 CentOS 7 YUM 源配置文件:
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
编辑 YUM 源配置文件,将
http替换为https:vi /etc/yum.repos.d/CentOS-Base.repo
进入
vi的命令模式,使用以下命令全局替换::%s/http:/https:/g
清理 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
创建
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
编译并安装 Redis:
make install
检查 Redis 是否安装完成:
ll /usr/local/bin | grep redis
如果看到
redis-server,redis-cli等文件,说明 Redis 安装成功。

基于 Vagrant 手动部署多个 Redis Server的更多相关文章
- 基于TLS证书手动部署kubernetes集群(下)
一.master节点组件部署 承接上篇文章--基于TLS证书手动部署kubernetes集群(上),我们已经部署好了etcd集群.flannel网络以及每个节点的docker,接下来部署master节 ...
- (转)基于TLS证书手动部署kubernetes集群(下)
转:https://www.cnblogs.com/wdliu/p/9152347.html 一.master节点组件部署 承接上篇文章--基于TLS证书手动部署kubernetes集群(上),我们已 ...
- 部署解决方案包 (SharePoint Server 2010)
转:http://technet.microsoft.com/zh-cn/library/cc262995(v=office.14).aspx 本文介绍各个解决方案包,及其在 Microsoft Sh ...
- ASP.NET Core:部署项目到Ubuntu Server
概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整天和Windows打交道的我,初次使用Linux确实有点 ...
- Redis Cluster的搭建与部署,实现redis的分布式方案
前言 上篇Redis Sentinel安装与部署,实现redis的高可用实现了redis的高可用,针对的主要是master宕机的情况,我们发现所有节点的数据都是一样的,那么一旦数据量过大,redi也会 ...
- Tomcat手动部署Web项目详细步骤
阅读须知:文章基于Tomcat8,其它版本若有差异,请自行辨别.本文为博主原创文章,转载请附原文链接. 不借助任何IDE,这里介绍在Tomcat中手动部署web项目的三种方式: 1.部署解包的weba ...
- NET Core:部署项目到Ubuntu Server
NET Core:部署项目到Ubuntu Server 概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整 ...
- 基于yum的方式安装Cloudera Manager Server(使用Mysql 8.0版本)
基于yum的方式安装Cloudera Manager Server(使用Mysql 8.0版本) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装和配置元数据库 1>. ...
- 007 Ceph手动部署单节点
前面已经介绍了Ceph的自动部署,本次介绍一下关于手动部署Ceph节点操作 一.环境准备 一台虚拟机部署单节点Ceph集群 IP:172.25.250.14 内核: Red Hat Enterpris ...
- [转载]部署Office Web Apps Server并配置其与SharePoint 2013的集成
Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...
随机推荐
- 在线电子表格编辑器 Luckysheet
下载地址 不知道地址正不正经,我先用着,网上找的地址,不知道是不是可信任的,疑似官网的两个地址都打不开, https://github.com/dream-num/Luckysheet zip包 h ...
- VSCode:让VSCode终端面板显示到右边
很简单,右击下方终端面板,选中"将视图移动到侧面板": 可以看到终端成功显示到右边了:
- 【开源】2024最新python豆瓣电影数据爬虫+可视化分析项目
项目介绍 [开源]项目基于python+pandas+flask+mysql等技术实现豆瓣电影数据获取及可视化分析展示,觉得有用的朋友可以来个一键三连,感谢!!! 项目演示 [video(video- ...
- .NET 中的表达式树
.NET 中的表达式树(Expression Trees) 表达式树是什么? 表达式树(Expression Trees)是.NET框架中的一个强大功能,它将代码表示为一个由表达式节点组成的树形结构. ...
- Java的深浅拷贝认识
目录 浅拷贝 深拷贝 分辨代码里的深浅拷贝 在Java中,深拷贝和浅拷贝是对象复制的两种方式,主要区别在于对对象内部的引用类型的处理上. 浅拷贝 定义: 浅拷贝是指创建一个新的对象,但这个新对象的属性 ...
- SignalR 客户端源生成器 客户端强类型方法
SignalR 客户端源生成器根据您定义的接口生成强类型的发送和接收代码.您可以在客户端上重用来自强类型 SignalR 集线器的相同接口来代替松散类型的 .On("methodName&q ...
- Xcode 自动化构建问题梳理
一.Xcode Xcode是mac OS平台上面开发的官方IDE,可以用来开发iOS应用和mac应用.随着iOS系统的升级,Xcode也会更新,而且是强制更新. Xcode每次版本更新稳定性很差,经常 ...
- k8s网络问题以及容器跨宿主机通信原理
[0]资源配置文件 [root@mcwk8s03 mcwtest]# ls mcwdeploy.yaml [root@mcwk8s03 mcwtest]# cat mcwdeploy.yaml api ...
- react减少组件渲染
当this.setState()修改了state中的数据后,当前组件将重新渲染,同时也会重新渲染子组件,但只会渲染当前组件子树(当前组件以其所有子组件) shouldComponentUpdate 当 ...
- LeetCode 675. Cut Off Trees for Golf Event 为高尔夫比赛砍树 (C++/Java)
题目: You are asked to cut off trees in a forest for a golf event. The forest is represented as a non- ...