作为开发人员,只要你的应用最终是放在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. 服务消费者Feign和Ribbon的区别

    1.Ribbon通过注解@EnableEurekaClient/@EnableDiscoveryClient向服务中心注册:    PS:选用的注册中心是eureka,那么就推荐@EnableEure ...

  2. 为什么区块链和加密行业需要 Web 3?

    为什么区块链和加密行业需要 Web 3? “由于人们都想从互联网上获得好处,互联网已经演变成了一个导致不公平和分裂的引擎,它被强大的力量所支配,并且任由其摆布.“——万维网之父.互联网先驱 Tim B ...

  3. Linux:Day17(下) openssl

    Linux Services and Security OpenSSL OpenSSH dns:bind web:http,httpd(apache),php,mariadb(mysql) lamp ...

  4. .NET core2.0 发布至IIS中

    .NET CORE和asp.net 发布时不太一样,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角 ...

  5. Linux 下操作Mysql指令的总结 远程连接的设置

    参考博客:https://www.cnblogs.com/liaocheng/p/4243579.html (常用命令) https://www.cnblogs.com/zhangzhu/archiv ...

  6. codeforces#1154F. Shovels Shop (dp)

    题目链接: http://codeforces.com/contest/1154/problem/F 题意: 有$n$个物品,$m$条优惠 每个优惠的格式是,买$x_i$个物品,最便宜的$y_i$个物 ...

  7. lazyMan

    class Lazyman { constructor() { this.tasks = []; this.init(); } init() { const task = () => { con ...

  8. LVS实现负载均衡原理

    负载均衡集群是load  balance 集群的简写.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备有F5.NetsNetscale.这里主要是学习lvs. === ...

  9. Tomcat不需要输入项目名便可访问项目(直接用域名或者ip)

    一般需要输入项目名访问项目是怎么个方法呢? 直接将项目放在 tomcat 安装目录的 webapps 目录下, 然后在域名或者ip后面 域名(ip)/项目目录, 这样会显得比较麻烦. 那么应该怎么才可 ...

  10. 使用pycharm进行远程开发部署调试设置 与 远程部署调试是否必须使用远程主机的解释器?

    远程开发部署调试目的: 配置pycharm远程部署调试主要用于本地代码与远程服务器上的代码进行同步,使得本地代码经过修改后,可以很容易的同步到远程服务器上.同时设置pycharm的解释器为远程服务器的 ...