作为开发人员,只要你的应用最终是放在linux环境执行,那么最好就是将本地开发环境也线上一致。不管是用windows系统,还是mac系统,即使你本地程序跑得好好的,也经常会出现一上线就各种bug的现象。排查这些问题相当耗时,而且随着应用的复杂度越来越大,一个应用要跑起来,需要依赖很多服务,不同操作系统对这些服务的支持度不一定相同。

基于此,最好的解决方案就是让本地环境与线上一致。线上服务器大多数公司是用centos系统,毕竟免费且受众广。如果本地物理机直接装成centos,很多办公工具就装不了。因此,选择用虚拟机搭建一个centos系统是最合适的方式。

常用的虚拟机有VMware和Virtualbox,前者功能很强大,但需要收费,且过于庞大(个人倾向于较为轻巧的工具),后者是开源免费的工具。因此我选择用后者,如果用virtualbox自己手动云攒一个centos,对于新手来说还是有些难度的,对于老手来说,虽然不难,但耗时繁琐。

如果有一个工具可以帮助我们方便地管理虚拟机,一键下载我们想要的操作系统,并可以将这些系统进行打包分享,就可以大大减轻我们的工作量。而这些,vagrant都能做到。

vagrant简介

vagrant也是一款开源免费的工具,用于管理虚拟机。详细的介绍到官方文档查看。

vagrant默认是与virtubox组合使用,在使用之前,要先将两者都安装好:

https://www.virtualbox.org/wiki/Downloads

https://www.vagrantup.com/downloads.html

下载镜像

http://www.vagrantbox.es/

选择一个你需要的镜像,点击copy,在浏览器地址打开,就开始下载了,建议使用浏览器下载,因为这样会更快

下载好了,找一个空的文件夹,打开命令行工具,需要使用到下面的命令

 $ vagrant box add {title} {url}
$ vagrant init {title}
$ vagrant up

title表示给虚拟机起的名字,url表示下载的镜像文件,具体操作像下面这样

修改网络连接方式【桥接网卡】

选择一个虚拟机,点击启动,那就就完成了

vagrant极简教程:快速搭建centos7的更多相关文章

  1. Nginx 极简教程(快速入门)

    作者:dunwu github.com/dunwu/nginx-tutorial 推荐阅读(点击即可跳转阅读) 1. SpringBoot内容聚合 2. 面试题内容聚合 3. 设计模式内容聚合 4.  ...

  2. CentOS安装使用.netcore极简教程(免费提供学习服务器)

    本文目标是指引从未使用过Linux的.Neter,如何在CentOS7上安装.Net Core环境,以及部署.Net Core应用. 仅针对CentOS,其它Linux系统类似,命令环节稍加调整: 需 ...

  3. nginx极简教程

    Nginx 极简教程 本项目是一个 Nginx 极简教程,目的在于帮助新手快速入门 Nginx. examples 目录中的示例模拟了工作中的一些常用实战场景,并且都可以通过脚本一键式启动,让您可以快 ...

  4. Asky极简教程:零基础1小时学编程,已更新前8节

    Asky极简架构 开源Asky极简架构.超轻量级.高并发.水平扩展.微服务架构 <Asky极简教程:零基础1小时学编程>开源教程 零基础入门,从零开始全程演示,如何开发一个大型互联网系统, ...

  5. Typora极简教程

    Typora极简教程 ” Markdown 是一种轻量级标记语言,创始人是约翰·格鲁伯(John Gruber).它允许人们 “使用易读易写的纯文本格式编写文档,然后转换成有效的 HTML 文档.” ...

  6. Python 极简教程(八)字符串 str

    由于字符串过于重要,请认真看完并保证所有代码都至少敲过一遍. 对于字符串,前面在数据类型中已经提到过.但是由于字符串类型太过于常用,Python 中提供了非常多的关于字符串的操作.而我们在实际编码过程 ...

  7. 【转】Typora极简教程

    Typora极简教程 Typora download ” Markdown 是一种轻量级标记语言,创始人是约翰·格鲁伯(John Gruber).它允许人们 “使用易读易写的纯文本格式编写文档,然后转 ...

  8. NodeJS 极简教程 <1> NodeJS 特点 & 使用场景

    NodeJS 极简教程 <1> NodeJS 特点 & 使用场景 田浩 因为看开了所以才去较劲儿.   1. NodeJS是什么 1.1 Node.js is a JavaScri ...

  9. 自制 os 极简教程1:写一个操作系统有多难

    为什么叫极简教程呢?听我慢慢说 不知道正在阅读本文的你,是否是因为想自己动手写一个操作系统.我觉得可能每个程序员都有个操作系统梦,或许是想亲自动手写出来一个,或许是想彻底吃透操作系统的知识.不论是为了 ...

随机推荐

  1. Neuroph开发过程

    文章提纲 安装与配置 开发小结 建立项目 配置项目 理解感知机的代码 安装与配置 JDK的安装:建议JRE 1.8以上: Neuroph安装:建议2.94的版本.下载地址 neuroph-core-2 ...

  2. BigDecimal比较大小,BigDecimal判断是否为0

    原文:https://blog.csdn.net/qq_34926773/article/details/83419004 BigDecimal类型的数据,需要比较大小:声明BigDescimal: ...

  3. 使用队列实现栈(2)(Java)

    class MyStack { private Queue q1; private Queue q2; public MyStack(int size) { this.q1 = new Queue(s ...

  4. 播放包含flash内容的网页或flash内容, 无法显示相应flash内容

    问题描述 通过Messenger发布的html5网页到player, 如下图所示: 布局播放效果: 解决办法 从Cnario Player菜单栏打开Setting>>Canvas Cont ...

  5. 服务端返回的json数据,导致前端报错的原因及解决方法

    前言 最近在开发的过程中遇到了一个问题:后端传过来的json字符串不是标准的json字符串 导致报错的原因 后端传过来的json字符串中包含一些不标准的字符或错误的引号嵌套 1)\n 2) \r 3) ...

  6. LinkedHashMap基本原理和用法&使用实现简单缓存(转)

    一. 基本用法LinkedHashMap是HashMap的子类,但是内部还有一个双向链表维护键值对的顺序,每个键值对既位于哈希表中,也位于双向链表中.LinkedHashMap支持两种顺序插入顺序 . ...

  7. Scanner的使用 猜数字 +猜电影

    猜数字public class Main { public static void main(String[] args) { int random=(int)(Math.random()*100)+ ...

  8. linux makefile中一些复制运算的区别

    Makefile 中  :=. ?= .+= .=的区别 = 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值,如果已经被赋值则就用之前的赋值+= 是添加等号后面的值

  9. Markdown 公式整理

    Cmd Markdown 公式指导手册 摘自:Cmd Markdown 公式指导手册 - 作业部落 Cmd Markdown 编辑阅读器 Cmd Markdown 简明语法手册 Cmd Markdow ...

  10. AttributeError: 'NoneType' object has no attribute 'split' 报错处理

    报错场景 social_django 组件对原生 django 的支持较好, 但是因为 在此DRF进行的验证为 JWT 方式 和 django 的验证存在区别, 因此需要进行更改自行支持 JWT 方式 ...