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

我们在开发中经常会面临的问题:环境不一致,有人用Mac有人用Windos还有几个用linux的,而我们的服务器都是linux。
    在我本地是可以的啊,我测了都,没有问题啊,然后看着上线之后的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/

(备注:这个地址实际上是失效的,很多box文件都找不到资源了,不过不要紧,因为我们可以自己做一个box,这个在下一篇文章我会讲如何定制一个自己的box,顺道放一个我制作好的基于centos7且安装好lnmp1.5的box)链接: Centos-lnmp.box密码: tssp
四:工作流程

五:vagrant的日常使用

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

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

1.把你下载的box文件扔进来,如图:

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

1)执行

vagrant.exe  box add centos centos-lnmp.box

该命令是给box起名并添加到box列表,注意:win10系统在执行“ vagrant box add centos7 vagrant-centos-7.box”添加box时,报错“Vagrant failed to initialize at a very early stage: Failed to locate the powershell executable on the available PATH. ”

需要注意的就是在cmd命令窗口下可以不用.exe  直接执行

vagrant box add {name(你要起的名字随意)}  {url/file(本地文件地址或远程地址)}

2)执行命令

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

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

打开配置文件


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

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

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

3)部署环境

执行命令

vagrant.exe up

就可以一键部署虚拟机环境了

4)虚拟机管理

执行命令 vagrant.exe ssh

vagrant.exe ssh

就能直接链接到虚拟机的系统了,目录已经挂载好了,接下来就是考验你linux操作能力的时候了,我们可以在这上边查看日志等等一系列事情。

备注:你也可以通过xshell来链接你的虚拟机,ip就是你配置的ip端口22,用户名密码均为vagrant

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

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

原文:https://blog.csdn.net/qq_39195042/article/details/82700277

使用vagrant一键部署本地php开发环境(一)的更多相关文章

  1. 使用vagrant一键部署本地php开发环境(二)制作自己的vagrant box

    在上篇的基础上 ,我们已经安装好了virtualbox和vagrant,没有安装的话,参照上篇 使用vagrant一键部署本地php开发环境(一) 1.从网易镜像或阿里等等镜像下载Centos7 ht ...

  2. 使用Vagrant搭建本地python开发环境

    使用Vagrant搭建本地python开发环境 关于vagrant:Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境,它使用Oracle的开源VirtualBox虚拟化系统也可以使 ...

  3. docker-swarm建立本地集成开发环境

    在k8s出现之后,docker-swarm使用的人越来越少,但在本地集成开发环境的搭建上,使用它还是比较轻量级的,它比docker-compose最大的好处就是容器之间的共享和服务的治理,你不需要li ...

  4. 使用Git下载Hadoop的到本地Eclipse开发环境

    使用Git下载Hadoop的到本地Eclipse开发环境 博客分类: Hadoop *n*x MacBook Air hadoopgitmaveneclipsejava  问题场景 按照官网http: ...

  5. 使用 docker 部署常用的开发环境

    使用 docker 部署常用的开发环境 Intro 使用 docker,很多环境可以借助 docker 去部署,没必要所有的环境都在本地安装,十分方便. 前段时间电脑之前返厂修了,回来之后所有的软件都 ...

  6. 【Yeoman】热部署web前端开发环境

    本文来自 “简时空”:<[Yeoman]热部署web前端开发环境>(自动同步导入到博客园) 1.序言 记得去年的暑假看RequireJS的时候,曾少不更事般地惊为前端利器,写了<Sp ...

  7. windows部署React-Native的开发环境实践(技术细节)

    前情摘要 众所周知,有人说.net可以用Xamrian,呵呵,不习惯收费的好么?搞.Net的人设置一次java的环境变量,可能都觉得实在太麻烦了,可能是因为这些年微软确实把我们给带坏了,所有东西一键安 ...

  8. 超实用!!!使用IDEA插件Alibaba Cloud Toolkit工具一键部署本地应用到ECS服务器

    最近看到阿里云发布了一款名为 Alibaba Cloud Toolkit 的插件,可以帮助开发者高效开发并部署适合在云端运行的应用,瞬间击中了我的小心脏,这个对于个人开发者来说超级棒啊,终于不需要再手 ...

  9. Vagrant - 打造跨平台的一致开发环境

    官网 参考资料 借助 Vagrant ,可以使用 Vagrantfile 文件自动化虚拟机的安装和配置流程,方便快速的打造跨平台的统一开发环境. 1. Vagrant 是啥 Vagrant 用于构建及 ...

随机推荐

  1. [转]Spring Security Oauth2 认证流程

    1.本文介绍的认证流程范围 本文主要对从用户发起获取token的请求(/oauth/token),到请求结束返回token中间经过的几个关键点进行说明. 2.认证会用到的相关请求 注:所有请求均为po ...

  2. Oracle学习笔记——imp还原数据库

    1.     创建用户及指定用户名密码 create user [用户名] identified by [密码]; create user fskxjsxy  identified by fskxjs ...

  3. navicat远程连接mysql错误

    确保端口与服务正常. 如果都正常,那么服务有可能没有添加远程访问. 本人链接报错10060,那么问题出在阿里云的主机默认不开放3306端口,那么在安全组策略中加入对应的端口   登录后输入 use m ...

  4. 通用mapper接口已经写好的 根据 list 集合查询 相应数据

    package tk.mybatis.mapper.additional.idlist; import org.apache.ibatis.annotations.Param; import org. ...

  5. NORDIC 烧录BLE协议栈后不能用JLINK仿真bootloader问题及修改方案

    问题原因: bootloader的程序区域是0X78000~0X7E000 但是在bootloader程序中定义了0X0FF8与0XFFC位置处的数据,此数据与BLE协议栈冲突,BLE协议栈的flas ...

  6. Go语言中的defer

    可以用作一些资源的释放. 1.在一个函数内的defer执行顺序是先写的后执行,后写的先执行(遵循栈结构) func DeferTest1(){ defer fmt.Println("我是 d ...

  7. runtime环境下的jade

    jade除了支持服务器端,jade也支持客户端   runtime.jade div h3 jade runtime call p this is from jade pre compile 命令行执 ...

  8. Java&Selenium数据驱动【DataProvider+TestNG+Csv】

    Java&Selenium数据驱动[DataProvider+TestNG+Csv] package testNGWithDataDriven; import java.io.Buffered ...

  9. 关于operator void* 操作符

    在<大规模C++程序设计>这本书中谈到了迭代器模式. 他提供了这样的一个迭代器的例子     这个for循环中判断终止的写法,有点意思,做一下记录. 这个地方的本质是这样的:C++ 编译器 ...

  10. [转载]yarn的安装和使用

    yarn的安装和使用 2018-08-02 10:45:41 yw00yw 阅读数 50696 文章标签: yarn 更多 分类专栏: 工具   版权声明:本文为博主原创文章,遵循CC 4.0 BY- ...