laravel框架在php開發過程是不斷進行優化的,當然也包括了本地環境的開發,下面我們就來具體看看laravel框架中的homestead 開發環境的部署內容。
首先白以下幾個概念
-
VirtualBox?— oracle 公司的虛擬機軟件, 能運行在當前大部分流行的系統上;
-
vagrant?提供一種命令行接口, 允許自動化安裝虛擬機, 并且因為是腳本編寫成的?provision?文本文件, 給共享虛擬機配置提供了可能, Homestead 正是構建在 Vagrant 之上;
-
Laravel Homestead?是官方預封裝的一個 Vagrant Box,它是一臺虛擬機的原型, 用來快速生產一個配置完整的服務器虛擬機, 運行在 VirtualBox 上.
Homestead 生產出來的虛擬機提供了一個完整的開發環境, 有了這個環境, 就不用再擔心各種軟件的設置會搞亂你的操作系統啦.
因為是虛擬機, 出現故障的時候, 可以在幾分種內完成銷毀和重建.
Homestead 能運行在所有的windows、Mac和linux上,它包含了nginx、PHP 5.5、mysql、Postgres、redis、memcached和你開發 Laravel應用程序需要的所有其它軟件。
在多人協同開的情況下, Homestead 能用來統一開發環境, 讓程序員把精力更集中的放在程序業務邏輯上, 免去了各種因為開發環境不一樣而造成的混亂.
約定
假設我們要開發一個項目, 項目的名字叫?mytwitter.
首先在我們存放代碼的地方?code?文件夾里面創建項目根文件夾?mytwitter_project, 接下來咱們的操作都在此項目下進行
cd?~/codemkdir?mytwitter_project cd?mytwitter_project
安裝 virtualbox 和 vagrant
在這里下載并安裝?VirtualBox?,?Vagrant?.
直接下載 GUI 安裝包安裝就行.
下載并配置 Homestead
Homestead 包括以下兩個東西
-
一個 vagrant box 虛擬機, 里面軟件什么都下載好了;
-
github 代碼庫, 里面裝載著 vagrant 的配置腳本, 用來自動化配置網絡, 端口映射, 等一些開發時候用到的配置
克隆 homestead 項目
在文件夾下克隆 homestead 項目到本地
git?clone?https://github.com/laravel/homestead.git?Homestead
加入 homestead box
執行以下命令添加 box
vagrant?box?add?laravel/homestead
在線下載會很慢一般用迅
可以下載最新的box文件
https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.5.0??//新版本地址
下載后執行以下命令, 修改?/path/to/virtualbox.box?為正確的 path.
vagrant?box?add?laravel/homestead?/path/to/virtualbox.box
windows中執行如下命令
vagrant?box?add?laravel/homestead?file:///D:/download/virtubox.box
修改 homestead 的配置
根據你的情況修改 Homestead 項目里面文件 Homestead.yaml , 類似以下
---ip:?"192.168.10.10"memory:?2048cpus:?1authorize:?/Users/me/.ssh/id_rsa.pub keys:????-?/Users/me/.ssh/id_rsa folders:????-?map:?/Users/me/code/mytwitter_project/mytwitter ??????to:?/home/vagrant/mytwitter sites:????-?map:?mytwitter.app ??????to:?/home/vagrant/mytwitter/public variables:????-?key:?APP_ENV ??????value:?local
配置 hosts 文件
?修改本機的 hosts 文件, 允許通過自定義域名訪問, 這個域名是在上面的?Homestead.yaml?里面設置的.
sudo?vi?/etc/hosts
添加以下一行
127.0.0.1????mytwitter.app
初始化 homestead 虛擬機
cd?Homestead vagrant?up? 注意:要刪除homestead目錄下的?Vagrantfile?文件重新生成使用命令:vagrant?init生成。 然后在啟動 vagrant?u
生成啟動后看提示信息。
最后測試是否能成功連接, 虛擬機里的?~/mytwitter?文件夾里的文件和本地的文件是一致的.
vagrant?ssh?cd?~/mytwitter ll
瀏覽器訪問?http://mytwitter.app:8000/?.
至此, 成功安裝.