vagrant初探

作者: zlxbuzz | 来源:发表于2017-07-12 16:56 被阅读46次

    对于新的系统Mac/Linux/Windows来说,装开发环境是一件很痛苦的事,要根据不同的系统装不同的环境,非常凌乱。偶然听说有Vagrant,它可以通过VirtualBox来封装一个linux环境, 我们只需要在本地进行开发,代码就可以同步到环境中,非常方便。

    安装##

    只需要装两个:
    `VirtualBox` : https://www.virtualbox.org/wiki/Downloads
    `Vagrant`    : http://downloads.vagrantup.com/
    

    完成之后,可以通过vagrant box add [box_name]自动下载相关的box镜像,添加到vagrant中去。如果网速比较慢的话,可以通过url去下载相应的box文件,然后通过vagrant box add [box_name] [file],box_name可以自定义。
    相关的box列表

    初始化环境

     安装完之后可以通过 `vagrant box list`  查看所有的`box`。
    
    ~ >vagrant box list
    laravel (virtualbox, 0) #有个name为laravel的环境
    
    现在可以创建开发目录
    
    mkdir ~/code #新建开发目录
    vagrant init laravel #相关环境的初始化,会生成`Vagrantfile`的配置文件
    vagrant up #开启环境,如果每次修改配置文件后,可以通过vagrant reload 重置环境
    

    完成之后,如果不做配置修改,默认的开发目录就对应linux的/vargrant目录,linux环境就已经搭建好了,可以通过 vagrant ssh 直接连接到环境

    Vagrantfile文件配置

    Vagrant.configure("2") do |config|
      #目前大多数都是版本2的配置
    end
    

    所对应的box名称,如果没有,则默认为base

    config.vm.box = "laravel"
    config.vm.host_name = "lln" ##主机名
    

    网络的配置,本地的8080端口对应虚拟机的80端口,可以通过localhost:8080访问

    config.vm.network :forwarded_port, guest: 80, host: 8080
    config.vm.network :private_network, ip: "192.168.50.4" #通过固定的ip去访问,也可以通过本地域名绑定到这个ip
    

    文件的同步,默认为本地的开发目录到 /vagrant

    config.vm.synced_folder "code/", "/home/lln/code" #第一个为本地目录,第二个为虚拟机的挂载目录,会同步
    

    修改完成之后可以随时vagrant reload重载配置

    ps:有些环境可能nginx需要自己配置一下.

    相关文章

      网友评论

        本文标题:vagrant初探

        本文链接:https://www.haomeiwen.com/subject/dhwbhxtx.html