安裝 VirtualBox
安裝 Vagrant
- 一個建立虛擬機的軟件
- 使用它建立 Homestead 虛擬機
使用 Vagrant 增長封裝包(Homestead box)
vagrant box add laravel/homestead
- 建立了一個 laravel/homestead 虛擬機盒子
- 一個集成了(Nginx,PHP,MySQL,Postgres,Redis,Memcached)的虛擬機
安裝和使用 Homestead (管理腳本)
git clone https://github.com/laravel/homestead.git Homestead
- 一個使用 Ruby 和 Shell 寫成的腳本
- 從
~/Homestead/Homestead.yaml
讀取配置信息,在 provision 時解析爲 Vagrant 命令,以此進行對虛擬機的配置
初始化配置文件
- 建立
Homestead.yaml
配置文件
- linux:
bash init.sh
- windows:
./init.sh
配置 Homestead.yaml
- 虛擬機設置
- SSH 密鑰登錄配置
- authorize
- keys (數組選項,填寫本機的 SSH 私鑰文件地址)
- 共享文件夾配置
- folders (將本機上的文件夾映射到虛擬機)
- map (對應本機文件夾)
- to (對應 Homestead 上的文件夾)
- 站點配置
- sites (在本機經過域名訪問虛擬機裏的應用)
- map (對應站點域名)
- to (對應 Homestead 上的文件夾)
- 數據庫配置
- 自定義變量
運行 Vagrant
- 進入 Homestead (管理腳本)目錄
- 啓動 vagrant
- 經過 SSH 登陸 Homestead 虛擬機
安裝 Laravel
- 根據 Homestead.yaml 中 sites 的設置,使用 composer 建立 Laravel 項目
composer create-project laravel-laravel Laravel --prefer-dist "5.5.\*"
經過主機訪問 Laravel 站點
- 在主機中經過 Homestead sites.map 中設置的域名,訪問虛擬機中的站點
安裝流程總結:
- 經過 Vagrant 將 Homestead box 添加到 VirtualBox
- 經過 Homestead 管理腳本,生成配置文件
- 經過配置文件中的 folders 與 sites 設置,達到主機與虛擬機通訊的目的
- 經過 Homestead 管理腳本,影響 Vagrant 的行爲,從而達到配置虛擬機的目的
虛擬環境啓動流程總結
- 從 Homestead管理腳本 目錄中運行 Vagrant
- Homestead管理腳本 讀取 Homestead.yaml 中的數據,並解析爲 Vagrant 命令
- Vagrant 根據 Homestead管理腳本 的配置,啓動虛擬機
開發流程總結
- 在 Homestead管理腳本 目錄 啓動 Vagrant
- 此時 Homestead.yaml 中,folders.map 中設置的主機文件夾,已與 folders.to 中設置的虛擬機文件夾實現了共享,只須要在 folders.map 設置的主機文件夾下進行開發便可
- 經過 Homestead.yaml 中 sites.map 中設置的域名,便可訪問虛擬機上的站點內容
訪問流程總結
- 在瀏覽器中訪問 www.test.com
- 瀏覽器根據 host 文件,將域名解析爲設置的虛擬機地址,並訪問該 ip 地址
- 虛擬機的 80 端口偵聽到訪問,返回網站內容到主機瀏覽器
- 主機上的瀏覽器顯示網站內容
參考文章:
Laravel 教程 - Web 開發實戰入門 linux