一:我们为什么需要用这玩意

  1. 我们在开发中经常会面临的问题:环境不一致,有人用Mac有人用Windos还有几个用linux的,而我们的服务器都是linux。
  2. 在我本地是可以的啊,我测了都,没有问题啊,然后看着上线之后的500错误懵比。It works on my pc .

二:vagrant是什么东西

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。-------------------来自百度百科。

直白的说是一键生成特定虚拟机的工具。详细的我们下边会说。

三:所需的软件:

1、virtualBox

可以到VirtualBox的官网进行下载: 
https://www.virtualbox.org/wiki/Downloads

2、vagrant

可以到vagrant官网下载 
https://www.vagrantup.com/downloads.html

这个下载特别慢,这里放出百度云的链接

链接: https://pan.baidu.com/s/1Toy3SRRACOWa8g0ybUHD8Q 密码: puwm

3、vagrant box

vagrant部署环境,需要一个box文件。如果在公司里面,可以从他们那里拷一个box文件安装。这样安装的环境与他们的开发环境是一致的。box文件也可以在网上下载。搜索:vagrantbox

http://www.vagrantbox.es/

五:vagrant的日常使用

下载以上vagrant和virtualbox之后,一路next安装,安装完成之后。

在任意位置新建一个文件夹,来管理你的box ,比如我们在D盘新建一个vagrant文件夹

1.把你下载的box文件扔进来

2.我们在这个位置打开git-bash,或者用cmd切换到这个目录,我们以git-bash为例:

1)执行

vagrant  box add centos centos-lnmp.box

说明:
vagrant box add {name} {url/file(本地文件地址或远程地址)}

2)执行命令

vagrant init {centos(刚add操作起的名字)}

就像这样,这个命令会初始化box并生成一个Vargrantfile的配置文件,在这个文件里我们可以 设置一些配置信息,比如共享主机目录到虚拟机目录,网络,虚拟机ip等信息。

3)修改配置文件

这些配置项默认都是注释掉的,我们需要找到这两行进行设置。其中共享目录的配置我们可以这样写,第一个参数为本地目录,第二个参数是虚拟机目录,/ 代表了虚拟机下的根目录。

通过共享目录设置,我们可以把我们的项目开发目录映射到虚拟机目录,通过虚拟机配置nginx,来让项目直接跑在虚拟机中

config.vm.synced_folder "D:/data", "/vagrant_data"

3)部署环境

执行命令

vagrant up

4)虚拟机管理

执行命令 vagrant.exe ssh

vagrant ssh

就能直接链接到虚拟机的系统了,目录已经挂载好了

默认账号密码:vagrant

一般来说虚拟机启动之后就不需要管了。不过对于项目开发而言,你还需要做的一件事就是修改本地的hosts文件,让你请求的虚拟域名指向你的虚拟机ip

六:vagrant常用命令

  1. vagrant init      # 初始化
  2. vagrant up        # 启动虚拟机
  3. vagrant halt      # 关闭虚拟机
  4. vagrant reload    # 重启虚拟机
  5.  vagrant ssh       # SSH 至虚拟机
  6. vagrant status    # 查看虚拟机运行状态
  7. vagrant destroy   # 销毁当前虚拟机
  8. vagrant box list    # 查看本地box列表
  9. vagrant box add     # 添加box到列表
  10. vagrant box remove  # 从box列表移除

vagrant搭建开发环境的更多相关文章

  1. Vagrant 搭建开发环境实践

    介绍 Development Environments Made Easy -官网标题 vagrant是一个命令行的虚拟机管理程序.用于简化搭建开发环境. vagrant使用ruby语言基于Chef ...

  2. MAC使用vagrant搭建开发环境

    公司的开发环境是这样的: Windows主机通过虚拟机安装CentOS.平时在Windows下编辑代码,然后跑到虚拟机里编译. 我自己有台MAC,本来准备直接在MAC上装开发环境的.基于以下两个原因放 ...

  3. vagrant 搭建开发环境

    虚拟机盒子地址 https://app.vagrantup.com/boxes/search vagrant init hirocom/centos7.2vagrant up 修改配置 config. ...

  4. 和重复搭建开发环境说 Bye Bye 之Vagrant

    每每新同事入职,都要在自己电脑上配置一堆环境,费神费力:每每开发测试都要重新配置开发环境,手工搭建,步骤很繁琐,极易出错. 大神在时,大神搭建,大神不在,以手抚膺坐长叹.为此,VVVVVagrant横 ...

  5. GJM : Unity3D HIAR -【 快速入门 】 二、搭建开发环境

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  6. maven实战(01)_搭建开发环境

    一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-mave ...

  7. Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境

    引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...

  8. Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境

    Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. The ...

  9. java攻城师之路(Android篇)--搭建开发环境、拨打电话、发送短信、布局例子

    一.搭建开发环境 1.所需资源 JDK6以上 Eclipse3.6以上 SDK17, 2.3.3 ADT17 2.安装注意事项 不要使用中文路径 如果模拟器默认路径包含中文, 可以设置android_ ...

  10. python入门到精通[一]:搭建开发环境

    摘要:Python认识,及在windows和linux上安装环境,测试是否安装成功. 1.写在前面 参加工作也有5年多了,一直在做.net开发,近一年有做NodeJS开发.从一开始的不习惯,到逐步适应 ...

随机推荐

  1. redis 基准性能测试与变慢优化

    redis 参考目录: 生产级Redis 高并发分布式锁实战1:高并发分布式锁如何实现 https://www.cnblogs.com/yizhiamumu/p/16556153.html 生产级Re ...

  2. MYSQL数据库设计1

    简单记录一下如何设计MySQL数据库 1.画出概念模型,概念模型是一个业务关系对照图,不需要定义字段类型什么的,仅仅是用于关系对照,指出对照关系 2.根据概念模型设计逻辑模型,逻辑模型需要包含字段的设 ...

  3. Angular 18+ 高级教程 – HttpClient

    前言 HttpClient 是 Angular 对 XMLHttpRequest 和 Fetch 的封装. HttpClient 的 DX (Developer Experience) 比 XMLHt ...

  4. 图片 电力电网行业IT运维方案

    智能电网背景下,电力.电网企业信息化逐渐渗透到其业务链的各个环节,云计算.物联网.移动互联网等新技术的应用,更驱动信息化与业务创新深度融合.电力.电网企业集团信息系统群逐渐朝着一体化方向发展,信息链越 ...

  5. Android Systrace 基础知识 -- 分析 Systrace 预备知识

    1. 正文 1.1 线程状态查看 Systrace 会用不同的颜色来标识不同的线程状态, 在每个方法上面都会有对应的线程状态来标识目前线程所处的状态,通过查看线程状态我们可以知道目前的瓶颈是什么, 是 ...

  6. 调查报告解读之国外数据库篇:MySQL国内使用率第一,多少企业有意替换国外产品?

    为了解数据库行业以及从业人员的现状.数据库选型.中国数据库的发展趋势等,墨天轮于2022年开始进行问卷收集,历时24天,共征集到有效问卷3476份,并于2月10日整理发布了<2022年墨天轮数据 ...

  7. Putty 远程 连接kali Linux拒绝访问 refused connection

    1. 设置  ssh 文件 crtl + alt + t 代开终端 输入命令: vim /etc/ssh/sshd_config 说明 : 使用 vim 编辑器编辑 ssh 文件 : 说明: 修改第3 ...

  8. Android复习(四)权限—>概览

    权限概述 许可 的目的是保护Android用户的隐私.Android应用必须获得访问敏感用户数据(例如联系人和SMS)以及某些系统功能(例如相机和互联网)的权限.根据功能的不同,系统可能会自动授予权限 ...

  9. "山海经“ 讲解----线段树

    "山海经"--线段树 讲解 1.题面: http://cogs.pro/cogs/problem/problem.php?pid=775 2.题目大意及分析: i:大概就是说给了你 ...

  10. 云原生爱好者周刊:玩 Kubernetes 游戏,赢取免费机票

    云原生一周动态要闻: Grafana 8.2.2 发布 OSM(Open Service Mesh)发布 v1.0 的第一个候选版本 谷歌宣布推出 Google Distributed Cloud K ...