使用虛擬機的目的是為了打造 個通用的、接近生產力服務器的開發環境,避免“在
我的機器上可以,在你的機器上為什么不行?”這樣的問題出現 但由 2.1 節可知,
VirtualBox 安裝虛擬系統的過程和配 相對煩瑣,對沒接觸過虛擬機工具的新人,在使用
上并不算友好,只適合一些特定的應用場景 而使用 Vagrant 工具可以讓虛擬機的安裝和
配置大為簡化,并能優化系統占用資源,最終提高開發效率。
Vagrant 簡介
Vagrant 出現的目的是為了讓開發者更好地使用 擬機,避免其陷入無盡的安裝、配
和調試之中 。雖然對于初學者來說,安裝和配置虛擬機看起來也不是那么復雜,但當遇
到需要搭建服務器集群、 端口轉發 多平 臺文件共享和虛擬系統性能等復雜操作的時候,
就不是簡單地執行“下一步”操作就可以了,此時 Vagrant 這樣的工具就體現出價值了
Vagrant 的標志如圖 2-17 所示。 ‘

Vagrant 簡單來說就是把在虛擬機中安裝系統 氈, AGRANT
相關操作自動化,開發者只需要通過一些命令, ,, 就可以完成跨平臺通用開發環境的搭建和使用。其 2-17 虛擬機輔助工具 Vagrant 標志 優勢如下:
軟件安裝流程簡單,操作界面友好。
.虛擬機操作自動化。解決安裝初始化、文件同步、 SSH 遠程連接和環境依賴等常見
問題
.跨操作系統,支持多種虛擬機平臺。無論開發者使用的是 indows 下的 Virtual Box ,
還是 Mac OS 下的 Vmware, Vagrant 都可以完美支持。
方便共享。虛擬機環境搭建完成后支持一鍵導出,方便開發團隊共享相同的開發
環境。
.開源社區提供各式各樣的操作系統版本 集成環境,無須再去 找各種版本的操作
和工 ,可以實現一鍵下載、安裝
下面來看一 Vagrant 工具的安裝流程,其具體流程如下:
(1 )安裝 VirtualBox
因為 VirtualBox 的詳細安裝流程在 2.1 節中已 講解過,這部分就不再贅述
(2)下載 Vagrant 工具安裝
訪問 ttps: //www.vagran p.corn/downloads html ,根據操作系統版本下載安裝文件,在
這里選擇 Window s64 位版本, 單擊 64-bit ”按鈕即可開始下載,如圖 18 所示

(3 )開始安裝 Vagrant 工具
雙擊打開下載完成的.exe 安裝包,只需要單擊 ext 按鈕一步一步地安裝即可。注意
除了安裝路徑 般不選擇系統盤外,其他都使用默認設 即可。
Vagrant 工具安裝 成,如圖 2-19 所示。安裝完畢后需要重啟系統,提示如圖 2-20
所示

(4 )開始使用
查看 Vagrant 是否安裝成功,需要在 Windows 統“開始”按鈕上單擊鼠標右鍵,然
后選擇“命令提示符(管理員)( )”選項后,出現命令行窗口,輸入以下命令
vagrant v
若正常顯示版本信息,則說明 Vagrant 工具己經安裝成功,效果如圖 21 示。

提示:這里使用的操作系統版本為 Windows 10 ,在其他 Windows 系統中打開命令行工
具可能稍有不同
Vagrant 常用操作
Vagrant 工具 方便之處就在于,可 直接下載已經打包好的虛擬機初始化文件
box 。省去 了自己下載系統鏡像、 安裝配置的過程 相比傳統的虛擬機系統安裝流程,
使用 Vagrant 工具的相關操作大為簡化,如圖 -22 所示。

Vagrant 具的 box 個操作系統環境,實際上就是 壓縮包 包含 Vagrant 的配
置信息 Virtua!Box 擬機鏡像文件
box 的下載可以通過多種方式 這里推薦使用官方的 Va nt Cloud 地址 https://app.
vagrantup.corn/boxes search )進行 取, 方便檢索自己所需的 box 版本 以檢索 Ubuntu
為例,部分 詢結果如圖 2-23 ,可以 到其覆蓋了常見的 buntu 操作系統發行版本

這里選用以基于 Ubuntu 16.04 LTS 礎的“ubuntu xenial64 ”作為 box 例進行下
載、安裝和啟動等操作方法的演示。
(1) box 獲取與安裝
添加 box 的命令格式如下:
vagrant box add base box 地址或者本地的 box 文件名
命令中 vagrant box add 是添加 box 命令, base box 的名稱,可以自 定義 這里默
認使用 base 主要用來標識添加 box 方便后面 安裝。
首先打開 Windows 令行界面,輸入并執行以下命
vagrant box add ubun tu/xenial 64
Vagrant 會自動開始下 box 本地,因為是官方 box ,所以在這里不定義標識,自動使用官方的原名即可。下載完成結果如圖 -24 所示。

此命令用來查看 Vagrant 中已經添加的 box 列表 此時可以看到名為“ ubun xenial64"的
box 已經添加,后面就可以直接安裝使用了,如圖 2-2 所示。

(2 )創建虛擬機系統配置文件
初始化的過程也是使用命令操作,首先定位到指定的目錄(如 盤下的 ubu ubox目錄
開發者可以靈活定義〉,執行以下命令
vagrant it ubuntu/xenial64
Vagrant 會在當前目錄下生成 Vagrantfile 配置文件,用文本編輯器打開后,會發現里
面有很多配 工頁, 但這不影響使用默認配置來完成安裝,后面還會詳細說明此配置文件。
執行 的提 26 示。

(3 初始化 擬機
執行 下命
vagra up
2-26 gran 虛擬系統配置文件
初始化過程如圖 27 所示。

(4)鏈接虛擬機
完成 Vagrant 中初始化虛擬機 就可以執行相應 命令進行 SSH
vagrant ssh
執行效果 28 所示。

從執行結果可以看出, Windows 原生的命令行工具不支持 SS 操作,所以在這里可
以使用 XS hell Git Bash 等第 方工具進行操作連接。
更換第 方工具前,需要先在 Windows 命令行工具下執行 閉虛擬機操作:
vagrant halt
隨后打開 Git Bash 命令行工具(安裝完 in dows Git 工具后,任意目錄下,在系統右
鍵菜單中可以找到),再次執行 vagrant up 令啟動虛擬機 隨后使用 vagrant ssh 命令連
接虛擬機,連接成功后就可以操作虛擬機系統了,如圖 29 所示

&提示: agrant 工具下的虛擬系統一般使用命令行操作,不使用圖形化界面。
(5)查看虛擬機基本信息
執行 inu 下的 df -f 命令可以 看磁盤掛載信息,其中 vagrant 目錄映射真實系統中
Vagrantfile 置文件所在的目錄,可以實現虛擬系統與真實系統的文件共享,便于程序在
虛擬機中調試,如圖 2-30 所示

- 服務器購買到搭建寶塔
- 結構規范
- php基礎
- php簡介
- php是什么
- PHP 能做什么
- PHP 如何運行
- 如何了解弱語言
- 安裝環境
- 安裝LNMP
- 寶塔
- phpstudy
- PHP基本語法
- PHP 標記
- 從 HTML 中分離
- 指令分隔符
- 注釋
- php 數據類型
- 類型檢測
- 四種標量類型
- boolean(布爾型)
- Integer 整型
- Float 浮點型
- String 字符串類型
- 兩種復合類型
- array(數組)
- object(對象)
- 兩種特殊類型
- resource(資源)
- NULL(無類型)
- 類型轉換
- 變量
- 變量定義和命名規范
- 傳值和引用
- 預定義變量
- php預定義變量
- $_SERVER詳解
- 變量范圍
- 全局變量
- 靜態變量
- 可變變量
- 常量
- 常量簡介
- 常量定義
- 相比變量
- 魔術常量
- 運算符
- 運算符簡介
- 算術運算符
- 賦值運算符
- 位運算符
- 比較運算符
- 錯誤控制運算符
- 執行運算符
- 遞增(減)運算符
- 邏輯運算符
- 字符串運算符
- 數組運算符
- 新增操作符
- 控制結構
- 控制簡介
- if 語句
- while 語句
- for 語句
- foreach 語句
- break 語句
- continue 語句
- switch 語句
- declare 語句
- return 語句
- include 語句
- PHP 函數
- 函數簡介
- 用戶自定義函數
- 函數的參數
- 返回值
- 可變函數
- 內部函數
- 匿名函數
- PHP 的類和對象
- PHP 的類和對象簡介
- 基本概念
- 對象繼承
- 屬性
- 類常量
- 自動加載對象
- 構造和析構函數
- 訪問控制
- 范圍解析操作符(::)
- 靜態static
- Static 關鍵字
- 抽象類
- 接口
- 匿名類
- 面向對象其他特性
- const關鍵字
- final關鍵字
- abstract用于定義抽象方法和抽象類。
- self、$this、parent::關鍵字
- 接口(interface)
- trait關鍵字
- instanceof關鍵字
- 魔術方法
- 構造函數和析構函數
- 私有屬性的設置獲取
- __toString()方法
- __clone()方法
- __call()方法
- 類的自動加載
- 會話控制
- cookie
- PHP 操作 cookie
- 項目實戰
- SESSION
- Session 的初步介紹與實驗準備
- PHP 操作 session
- 項目實戰2
- http
- 特點
- 工作過程
- request
- response
- HTTP狀態碼
- URL
- GET和POST的區別
- HTTPS
- 常用函數
- 常用的字符串函數
- 常用的數組函數
- 常用文件函數
- 常用時間函數
- 常用日歷函數
- 常用url函數
- 面試題常見
- 時間戳
- 技術類文檔
- 技術開發文檔
- 開發環境
- 開發規范
- 注釋規范
- 開發目錄結構
- 數據庫字典
- 路由
- 定時任務
- 獲取系統配置
- 系統常用函數
- 后臺表單
- 消息隊列
- 第三方類庫標注
- 需求文檔
- 數據庫
- MYSQL
- 事務(重點)
- 索引
- 存儲過程
- 觸發器
- 視圖
- 導入導出數據庫
- 優化mysql數據庫的方法
- MyISAM與InnoDB區別
- 外連接、內連接的區別
- 物理文件結構
- MongoDB
- Redis
- 運用場景和實例
- pgsql
- 服務器
- Nginx
- 正向代理和反向代理
- 負載均衡
- Linux常用命令
- 基本目錄和命令
- php開發工具
- phpStorm編輯器
- 安裝和漢化
- 鏈接ftp
- 常用操作
- 常用快捷鍵
- 自定義快捷鍵
- 使用快捷鍵新建目錄和文件
- 使用快捷鍵快速查找文件、類、方法
- 多文件切換
- 快速搜索設置項
- 多點編輯
- 方法重構
- 自定義文件模板和代碼片段
- 自定義文件模板
- 自定義代碼片段
- Xdebug 調試插件
- 安裝Xdebug 調試插件
- 在PHPStorm 中使用 Xdebug 插件調試代碼
- Vi Box虛擬機
- Vi Box 虛擬機 Oracle VM VirtualBox
- 虛擬機輔助工具一-Vagrant
- 華碩主板BIOS設置中VT虛擬化技術選項怎么開啟 Oracle VM VirtualBox
- 溝通工具
- 文檔分享
- 流程圖
- 任務分配
- 代碼托管
- 缺陷管理
- 設計圖
- gitLab
- 安裝
- 漢化
- Gitlab 用戶和項目管理
- Gitlab 持續集成與自動構建實踐
- PHP進階
- 大流量解決方案
- PSR規范
- RESTFUL規范
- 設計模式
- 單例模式
- 策略模式
- 工廠模式
- 簡單工廠模式
- 工廠方法模式
- 抽象工廠模式
- 外觀模式
- 享元模式
- 代理模式
- 命令模式
- 中介者模式
- 觀察者模式
- 狀態模式
- 建筑者模式
- 適配器模式
- 橋接模式
- 裝飾器模式
- 排序算法
- 冒泡排序算法
- 二分查找算法
- 直接插入排序算法
- 希爾排序算法
- 選擇排序算法
- 快速排序算法
- 常見網絡攻擊類型
- CSRF攻擊
- XSS攻擊
- SQL注入
- Cookie攻擊
- thinkphp
- thinkphp5命令行
- git
- Git 常用命令操作和基礎學習
- 傻瓜與白癡的筆記本
- 學習
- 一、Git 與 GitHub 的來歷
- 二、在 GitHub 上創建倉庫
- 三、安裝
- Windows 上安裝 Git
- 安裝2
- 四、克隆 GitHub 上的倉庫到本地
- 五、GIT基本操作哦
- 六、Git 分支操作
- 一、添加SSH關聯授權
- 二、為 Git 命令設置別名
- 三、Git 分支管理
- 七、多人協作 GitHub 部分
- 八、多人協作 Git 部分
- 九、Git tag 和 GitHub releases
- composer
- Composer 基礎使用
- 安裝和使用
- 在項目中集成PHPmailer
- 認識composer.json和composer.lock文件
- composer的其他命令操作
- 本地創建composer包
- 提交自己的依賴包到composer Packagist
- crontab計劃任務
- Linux任務計劃crontab
- php 的 計劃任務——Crontab
- bootstrap前端框架
- 入門
- 實戰技巧
- 后臺模板樣式——admin
- 第三方接口對接
- 微信
- 敏感詞過濾
- 微信圖片檢測
- 短信類型
- 阿里云短信
- 容聯云短信
- 飛鴿短信
- 媒體
- 新聞接口測試
- 免費新聞
- 免費視頻
- nba賽事,未測試
- 豆瓣電影接口
- 音樂接口
- 網易短視頻接口
- 知乎微信接口
- 百度ai
- 百度語音
- 圖片識別
- 騰訊
- 騰訊im
- 騰訊云直播
- 騰訊滑動驗證
- 物流快遞
- 快遞鳥、快遞100
- 推送
- 極光推送
- 地圖&天氣
- 獲取城市和天氣預報
- 地址獲取和定位
- 地址轉換經緯度
- 圖片類型
- 360新聞圖片
- 多平臺翻譯
- 實名認證
- 七牛云
- 云合同
- 多站點收錄查詢接口
- 打印機
- 第三方登錄
- 微信登錄
- 支付
- 支付寶app支付
- 微信提現+退款
- 微信app支付
- 微信支付公式
- 類庫
- 圖片類
- phpqrcode實戰:生成二維碼
- 圖片處理類
- 驗證碼類
- 消息類
- PHPMailer
- 分詞類
- ik
- PHPAnalysis
- 自己封裝的方法
- GD庫
- 自動獲取圖片主題顏色
- 圖片轉素描
- 生成海報
- 圖片轉字符
- 驗證碼
- 圖片轉黑白灰
- GD庫實現圖片水印與縮略圖
- Imagick擴展
- 將一張image圖片轉化為字符串的形式
- 基本方法
- 圖片路徑轉base64
- 生成文件后綴圖片
- url路徑判斷拼接
- 防篡改入口文件
- php中文姓名判斷
- 可控抽獎
- 特殊截取
- 銀行卡位(特殊卡號不支持)
- 微信紅包計算
- 數組和對象互轉
- php批量更新修改數據庫
- base64_img上傳
- 刪庫刪目錄————跑路
- 字符串特殊符號過濾
- 首字母轉成默認頭像
- 生成隨機字符串
- 根據id轉 邀請碼
- 日志寫入
- 字符串截取,超出顯示省略號
- 清除html標簽+清除html標簽,字符串截取
- 計算時間差的函數和演示
- php判斷路徑是否是絕對路徑,如果不是拼接至絕對路徑
- sql 參數過濾
- php敏感詞過濾
- 省市區分別截取
- 生成csv
- 無限極分類
- api接口返回封裝的方法函數
- xml和數組互轉
- 獲取thinkph5下控制器和方法名
- 過濾
- 獲取服務器信息
- php隨機顏色
- 創建多級目錄
- 推廣碼
- 跨域檢測
- 二維碼
- 文檔類
- word
- PHPWord
- tcPdf
- MPDF
- dompdf
- FPDF、Fpdi類庫
- excel
- PhpSpreadsheet導入
- phpExcel
- 時間
- PHP-農歷+節氣+節日等類庫
- 時間類庫
- 最好用的是人性化時間差
- 文件管理類
- 文件操作類
- 文件夾操作
- php操作ftp的類庫
- curl
- 數據庫操作類
- Db擴展函數
- 數據庫備份
- 仿tp5的Db庫
- 不常用mysql
- 自動生成數據庫字典
- 字符串
- 字符串操作helper/Str
- 隨機生成姓名
- 隨機生成類
- php字符串類
- 中文轉拼音的類庫
- 分類
- 緩存
- 數據驗證
- 身份證相關操作
- 安全類
- 表單生成類
- 自動生成表單,未完待續中