中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vagrant 搭建跨平臺的 PHP 開發環境 (一)安裝 ubuntu 虛擬機

發布時間:2020-07-11 20:52:54 來源:網絡 閱讀:497 作者:指尖芳華 欄目:web開發

Vagrant是一個軟件,可以自動化虛擬機的安裝和配置流程,支持 VirtualBox 、VMware 、AWS 作為虛擬機
以 VirtualBox 為例,步驟如下:

Windows 10 系統中 需要關閉 Hyper-v , 小米筆記本中 biso 中找不到 虛擬化配置,關閉 Hyper-v 就可以了

1.安裝 VirtualBox

官網下載地址:https://www.virtualbox.org/wiki/Downloads 
下載安裝包,雙擊安裝,默認即可

2.安裝 Vagrant

官網下載地址:https://www.vagrantup.com/downloads.html
下載安裝包,雙擊安裝,一路默認即可,完成后提示重啟

Vagrant 使用 - 創建虛擬機

vagrant 中已經打包好的虛擬機,稱為 box
box 列表:https://app.vagrantup.com/boxes/search

操作系統 Ubuntu

3.安裝 ubuntu

添加 box 鏡像:
        vagrant box add  ubuntu/trusty64

切換到開發目錄:
        初始化
                vagrant init ubuntu/trusty64
        啟動 虛擬機
                vagrant up
        登錄
                vagrant ssh

現在就已經登錄到 ubuntu 系統了,可以定制安裝 自己喜歡的開發環境了

Vagrant 指令

    vagrant  -v              查看版本號
    vagrant box list    查看本地 box 
    vagrant box add     添加 box
    vagrant box remove  刪除本地指定的box

    虛擬機操作命令
        vagrant init        初始化配置 vagrantfile
        vagrant up          啟動虛擬機
        vagrant ssh         ssh 登錄虛擬機
        vagrant suspend     掛起虛擬機
        vagrant reload      重啟虛擬機
        vagrant halt        關閉虛擬機
        vagrant status      查看虛擬機狀態
        vagrant destory     刪除虛擬機 

Vagrant 配置項

box 設置
config.vm.box = 'ubuntu/xenial64'
hostname 設置 - 虛擬機名稱
config.vm.hostname = 'php-dev'
虛擬網路設置

NAT : 缺省創建,用于讓vm可以通過host轉發訪問局域網甚至互聯網;
host-only : 只有主機可以訪問vm,其他機器無法訪問它;
bridge : 此模式下vm就像局域網中的一臺獨立的機器,可以被其他機器訪問。

端口轉發 模式
config.vm.network 'forwarded_port', guest: 80, host:8080

# guest 為虛擬機端口, host,主機端口 
# 將主機的8080端口請求,轉發到vm的80端口,這樣訪問http://host:8080 就相當于訪問http://vm:80了
# guest和host是必須的,還有幾個可選屬性:
# guest_ip:字符串,vm指定綁定的Ip,缺省為0.0.0.0
# host_ip:字符串,host指定綁定的Ip,缺省為0.0.0.0
# protocol:字符串,可選TCP或UDP,缺省為TCP
host-only 模式
config.vm.network "private_network", ip: "192.168.12.144"  # 指定 ip
config.vm.network "private_network", type:'dhcp'    # 不指定 ip ,使用動態 ip
橋接 網絡模式
config.vm.network 'public_network', ip: '192.168.123.23'
共享目錄設置

共享目錄其實是以掛載的形式,掛載到虛擬機指定目錄下

config.vm.synced_folder '主機目錄', '掛載的目錄'
vm provider通用和個性化設置

通用配置對于不同provider是通用的,常用的通用配置如下:

config.vm.provider "virtualbox" do |vb|
        # 通用配置
        vb.name = "php-dev" # virtualbox管理控制臺中的虛機名稱
        vb.gui = true # 啟動時,自動打開virtual box的窗口,缺省為false
        vb.memory = "2048" # vm內存,單位 MB
        vb.cpus = 2 #設置CPU個數

      # 個性配置
        #修改vb.name的值
                v.customize ["modifyvm", :id, "--name", "mfsmaster2"]

                #如修改顯存,缺省為8M,如果啟動桌面,至少需要10M,如下修改為16M:
                vb.customize ["modifyvm", :id, "--vram", "16"]

                #調整虛擬機的內存
                 vb.customize ["modifyvm", :id, "--memory", "1024"]

                #指定虛擬CPU個數
                 vb.customize ["modifyvm", :id, "--cpus", "2"]

                #增加光驅:
                vb.customize ["storageattach",:id,"--storagectl", "IDE Controller","--port","0","--device","0","--type","dvddrive","--medium","/Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso"]
                #注:meduim參數不可以為空,如果只掛載驅動器不掛在iso,指定為“emptydrive”。如果要卸載光驅,medium傳入none即可。
                #從這個指令可以看出,customize方法傳入一個json數組,按照順序傳入參數即可。

                #json數組傳入多個參數
                v.customize ["modifyvm", :id, "--name", “mfsserver3", "--memory", “2048"]
end
配置多節點 - 多虛擬主機

當定義了多主機之后,在使用vagrant命令的時候,就需要加上主機名,例如vagrant ssh web;也有一些命令,如果你不指定特定的主機,那么將會對所有的主機起作用,比如vagrant up;你也可以使用表達式指定特定的主機名,例如vagrant up /follower[0-9]/。

Vagrant.configure("2") do |config|
      # 一個節點就是一個虛擬機
        config.vm.define "web" do |web|
                web.vm.box = "apache"
        end

        config.vm.define "db" do |db|
                db.vm.box = "mysql"
        end
end

最終簡單配置

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  # box name 盒子名稱
  config.vm.box = "ubuntu/xenial64"

  # 登錄信息
  config.ssh.username = 'leesin'
  config.ssh.password = '123456'

  # vm hostname  虛擬機主機名
  config.vm.hostname = 'php-dev'

  # Disable automatic box update checking. If you disable this, then
  # boxes will only be checked for updates when the user runs
  # `vagrant box outdated`. This is not recommended.
  # config.vm.box_check_update = false

  # network 網絡配置
  # 端口轉發
  config.vm.network 'forwarded_port', guest: 80, host:8080  # tcp 轉發端口
    config.vm.network 'forwarded_port', guest:3306, host:33060 # mysql 連接轉發

  # 私有網絡 
  # config.vm.network "private_network", type: "dhcp"

  # 橋接網絡
  # config.vm.network "public_network", ip: '192.168.33.10'

  # 共享目錄
  config.vm.synced_folder "D:\\", "/data/wwwroot"

  # vm provider通用和個性化設置
  config.vm.provider "virtualbox" do |vb|
      # 通用配置
        vb.name = "php-dev" # virtualbox管理控制臺中的虛機名稱
        # vb.gui = true # 啟動時,自動打開virtual box的窗口,缺省為false
        vb.memory = "2048" # vm內存,單位 MB
        vb.cpus = 2 #設置CPU個數

      # 個性配置

  end

  # config.vm.provision "shell", inline: <<-SHELL
  #   apt-get update
  #   apt-get install -y apache2
  # SHELL
end

參考文檔:
https://segmentfault.com/a/1190000000264347
https://www.jianshu.com/p/2fc53a3e91bf
推薦鏈接:https://blog.csdn.net/u011781521/article/details/80291765

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台北市| 余庆县| 牡丹江市| 霞浦县| 睢宁县| 公主岭市| 喀喇沁旗| 集安市| 台东县| 南漳县| 健康| 绵阳市| 永新县| 阿拉善右旗| 永泰县| 鄂尔多斯市| 岳池县| 和静县| 彩票| 海伦市| 龙井市| 奇台县| 探索| 贡山| 金沙县| 濮阳市| 监利县| 顺昌县| 瓦房店市| 玉树县| 崇州市| 雅江县| 松阳县| 灵石县| 钟祥市| 财经| 饶河县| 东乡族自治县| 甘肃省| 景德镇市| 乐东|