Vagrant相關配置

1、導出本身的Boxhtml

導出前,先進行相關配置一、vagrant box打包前的準備   二、VirtrualBox壓縮打包nginx

咱們在vagrant的虛擬機下面進行了一些操做以後想把它導出做爲備份,爲的是之後在別的機器上安裝完vagrant之後能夠當即導入本身熟悉的box進行開發。步驟以下laravel

一、進入到VirtualBox的安裝目錄下,運行 vboxmanage list vms 命令(此處務必使用cmd,若是使用git,命令爲./vboxmanage list vms),能夠看出咱們的vagrant下的虛擬機列表git

二、導出Box。進入到你的vagrant工做目錄(即vagrantFile文件所在目錄下),我安裝在E:\workspace,打開git窗口運行下面命令(注意:複製代碼的時候留意--base和--output,這裏都是兩個英文字符下的橫槓,複製的時候有可能會變成中文的橫槓或少一個橫槓)。github

vagrant package –-base newbox_default_1503366286622_12977 –-output ./ubuntu1604.box

vagrant package是導出box的打包命令web

–base 表明本地apache

newbox_default_1503366286622_12977是你要導出的box的名稱ubuntu

–output表明導出centos

./ubuntu1604.box 表示導出後的box名爲ubuntu1604.box,並保存在當前目錄下服務器

 

2、導入。

你來到了另外一臺電腦,你想把你的工做環境徹底的copy一份到這臺電腦,接下來就很關鍵了。

1.建立一個你要的工做目錄,個人是E:\workspace,把公共打好的包放進來

2.在這個目錄下打開Git窗口,輸入

vagrant box add 你自定義的別名 包名

ps:添加前最好使用vagrant box list查看一下當前的box列表,若是有跟你要設置的別名同樣的box,先刪除 vagrant box remove laravel/homestead --box-version 0

3.初始化工做環境

vagrant init

發現你的文件夾中自動生成了一個文件,Vagrantfile。

4.因爲你是直接引入本身打的包,而不是vagrant官方提供的包,因此有可能存在一些問題。咱們經過編輯Vagrantfile來解決。在Vagrantfile中的「config.vm.box」這一行下,加上這三句

config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
config.ssh.insert_key = false

因爲vagrant默認使用private_key登陸,此時你有很大的多是沒有private_key的,咱們直接改爲用戶名+密碼登陸

 5.啓動vagrant

vagrant up

 

 

3、高級應用

1)端口轉發

    說明:點擊  設置->網絡->高級-端口轉發 就能夠看到各個轉發的端口配置狀況。

        官網文檔位置:https://www.vagrantup.com/docs/networking/forwarded_ports.html

        ##############配置代碼#################################

        Vagrant.configure("2") do |config|

          config.vm.network "forwarded_port", guest: 80, host: 8888

        end

        ########################################################

    配置說明:

        將虛擬機的80端口轉發到宿主機的8888

        config.vm.network "forwarded_port", guest: 80, host: 8888

2)共享目錄

    說明:同步宿主主機文件到虛擬機:

        官網文檔位置:https://www.vagrantup.com/docs/synced-folders/basic_usage.html

        Windows配置用SMB配置共享目錄

        官網文檔位置:https://www.vagrantup.com/docs/synced-folders/smb.html

        Linux系列系統用NFS配置共享目錄

        官網文檔位置:https://www.vagrantup.com/docs/synced-folders/nfs.html

    將寫代碼目錄映射到虛擬機服務器目錄【Windows機配置示範】:

    ##############配置代碼#################################

        Vagrant.configure("2") do |config|

          config.vm.synced_folder "D://workspace/", "/data/wwwroot/web", type: "smb"

        end

    ########################################################

3)ip配置

        ###########重要提示!################

        #      公有ip不能共享目錄          #

        #####################################

    1)私有IP配置

        ##############配置代碼#################################

            Vagrant.configure("2") do |config|

              config.vm.network "private_network", ip: "192.168.50.4"

            end

        ########################################################

        好處說明:配置私有ip好處。直接訪問私有ip

    2)共有ip配置

        查看宿主機ip: 192.168.1.37

        ##############配置代碼#################################

            Vagrant.configure("2") do |config|

              config.vm.network "public_network", ip: "192.168.1.17"

            end

        ########################################################

        和宿主主機同樣經過DHCP分配

        ##############配置代碼#################################

            Vagrant.configure("2") do |config|

              config.vm.network "public_network",use_dhcp_assigned_default_route: true

            end

        ########################################################   

3、常規配置優化

1)虛擬機名稱配置

  config.vm.provider "virtualbox" do |vb|

    vb.cpus = 2                #虛擬機核數

    vb.memory = "1024"          #虛擬機內存

    vb.name = "centos7_lnmp"    #虛擬機名稱

  end

2)主機名稱配置

    Vagrant.configure("2") do |config|

        config.vm.hostname = "dh2y"

    end

3)nginx和apache同步延時配置

官網文檔位置:https://www.vagrantup.com/docs/synced-folders/virtualbox.html

In Nginx:    sendfile off;

In Apache:  EnableSendfile Off  #默認已經關閉

 

修改virutalbox和vagrant的默認目錄

virtualbox和vagrant默認都是放到系統C盤中,若是安裝的box比較多,很容易打滿C盤。這個目標路徑的配置是能夠修改的:

(1)更改VirtualBox虛擬機映像文件的位置

打開 VirtualBox 程序,點擊管理/全局設定菜單項(Ctrl+G), 將常規欄裏的默認虛擬電腦位置(M)改成其餘磁盤下的路徑

將原路徑 C:\Users\user_name\.VirtualBox\VirtualBox VMs 下的文件移動到新路徑下。

從新啓動VirtualBox程序,在虛擬機列表裏,之前創建的虛擬機雖然都還在,但已經不可用了,將他們所有刪除。

雙擊打開新路徑各個文件夾裏的vbox文件,將創建的虛擬機從新導入。

(2)更改vagrant配置文件的位置

將 C:\Users\user_name\.vagrant.d 移動到新的位置

新建環境變量VAGRANT_HOME,並指向新路徑

 

參考:

https://imququ.com/post/vagrantup.html

https://github.com/astaxie/go-best-practice/blob/master/ebook/zh/01.1.md

相關文章
相關標籤/搜索