laravel開發環境homestead搭建詳解php
Laravel的開發環境其實不少,由於它自己就是PHP,因此只要知足版本的狀況下,任何pHP環境他都能跑起來,好比說常見的wamp/mamp/phpstudy等集成化環境都是能夠的,可是,爲了更好的減小錯誤,更多的兼容,之後的上線環境,官方推薦了兩種開發環境,一種是homestead,另外一種是Valet。第1種呢,Windows系統和mac系統,均可以支持,第2種的專門就是爲mac系統的用戶所提供的,整體感受兩種環境都很是很是好用,今天咱們就着重說一下第1種環境的搭建。html
Laravel 致力於讓整個 PHP 開發體驗變的更愉快,包括你的本地開發環境。 Vagrant 提供了一種簡單、優雅的方式來管理和配置虛擬主機。laravel
Laravel Homestead 是一個官方預封裝的 Vagrant box ,它爲你提供了一個完美的開發環境,你不須要在本地機器安裝 PHP、web 服務器和其餘的服務器軟件。你不再用擔憂會弄亂你的操做系統了!Vagrant boxes 是一次性的。 若是出現問題, 你能夠在幾分鐘內銷燬並從新建立 box !git
Homestead 能夠運行在任何 Windows、Mac、或 Linux 系統, 它包括了 Nginx web 服務器,PHP7.四、PHP 7.三、PHP 7.二、PHP 7.一、MySQL、PostgreSQL、Redis、Memcached、Node 以及你開發 Laravel 所須要的東西。github
下載地址:這裏附上2.25.1版本下載web
git for windows 64位
也可到官方網站下載最新版:git官方
安裝好進行備用。windows
在你啓動 Homestead 環境以前,你必須安裝 VirtualBox 6.x,VMWare,Parallels 或 Hyper-V 以及 Vagrant。以上全部軟件均針對不一樣的操做系統提供了易於使用的可視化安裝包。
我這裏使用的是VirtualBox軟件,https://www.virtualbox.org/wiki/Downloads 是 Oracle 公司的開源虛擬機軟件。VirtualBox 號稱是最強的免費虛擬機軟件,它不只功能齊全,並且性能也很優異!VirtualBox 支持大部分流行的系統,如:Mac, Windows, Linux 等。bash
下載地址:下載地址服務器
選擇window hosts便可下載,大小位100多MB,安裝完畢備用。
Vagrant by HashiCorp Vagrant 是用來管理虛擬機的工具,支持當前主流的虛擬機系統如 VirtualBox、VMware、AWS 等。Vagrant 的主要做用是提供一個可配置、可移植和複用的軟件環境。Vagrant 讓你經過編寫一個 Vagrantfile 文件來控制虛擬機的啓動、虛擬機網絡環境的配置、虛擬機與主機間的文件共享,以及啓動後自動執行一些配置腳本,如自動執行一個 Shell Script 來安裝一些必備的開發工具,如安裝配置MySQL、PHP,甚至是自動配置 Nginx 站點。這意味着,在一個多人開發的項目中,你只須要同步 Vagrantfile 文件,就能夠保證參與項目的每一個人各自的機器上擁有一致的開發環境。
下載地址:下載地址
大小200多MB
這樣安裝下載會很是慢,我安裝了好屢次都失敗了,可使用第二種本地文件安裝方式
vagrant box add laravel/homestead
先打開git,而後打開~目錄
而後運行上述命令
而後提示你選擇paralles仍是virtualbox
選擇2,而後就會進行在線安裝
先下載離線 homestead.box ,大小1.25GB左右,這裏附上下載地址:官方下載,官方頁面homestead,官方頁面,而後執行以下命令
下載完成後放到本地目錄,這裏我放到g盤homestead目錄下。
而後在git中運行命令:
vagrant box add laravel/homestead g:/homestead.box
注意更改路徑。
等待安裝完畢,顯示如上圖則已安裝成功。
首先clone管理腳本
git clone https://github.com/laravel/homestead.git ~/Homestead cd ~/Homestead
建立 Homestead.yaml 配置文件
./init.bat
若是是本地安裝的 homestead.box 版本爲0,因此須要修改下面步驟生成的配置文件 /Users/xxxx/Homestead/scripts/homestead.rb 如下內容
config.vm.box_version = settings["version"] ''= ">= 0"
在~/Homestead目錄下Homestead.yaml文件進行配置
folders: - map: ~/code/code1 to: /home/vagrant/code1 - map: ~/code/code2 to: /home/vagrant/code2
這裏就是把本地的文件同步到虛擬機,這樣就能把源碼放到本地,而後運行虛擬機就能看到效果,很是的方便。
注意:
這裏有誤區,有的人會直接配置以下:
folders: - map: ~/code to: /home/vagrant
這樣是沒法同步成功的。
不能直接同步到vagrant裏,要同步到vagrant的子目錄中。
用於實現 SSH 免密碼登陸 修改 Homestead.yaml 文件如下內容:
keys: - ~/.ssh/id_rsa - ~/.ssh/id_rsa.pub
生成 key
使用命令
ssh-keygen -t rsa -C "xxxxxx@qq.com" #後面一真按enter鍵,設置密碼
homestead 默認已經在虛擬機中爲 MySQL 和 PostgreSQL 數據庫作好了配置。要從主機的數據庫客戶端鏈接到 MySQL 或 PostgreSQL ,應該鏈接到 127.0.0.1 ,端口 33060 (MySQL) 或 54320 (PostgreSQL)。用戶名和密碼分別是 homestead / secret 。
注意:只有從本地鏈接 Homestead 的數據庫時才能使用這些非標準的端口。而 Laravel 在虛擬機中 運行時仍是應該使用默認的 3306 和 5432 端口進行數據庫鏈接。
一旦你的 Homestead 環境已配置並運行,你能夠爲你的 Laravel 應用添加額外的 Nginx 站點。你可能但願在單個 Homestead 環境運行多個 Laravel 安裝。要添加額外的站點,到 Homestead.yaml 文件中添加站點:
sites: - map: homestead.test to: /home/vagrant/code1/public - map: homestead2.test to: /home/vagrant/code2/public
這時候,還須要你把本機的hosts文件添加以下兩條
192.168.10.10 homestead.test 192.168.10.10 homestead2.test
Git for Windows環境中使用
若是咱們想在任何目錄均可以執行 vagrant 命令,須要進行如下設置 修改 ~/.bash_profile 文件內容,這種設置只在 git for windows 軟件中使用
function homestead() { ( cd ~/Homestead && vagrant $* ) }
這樣咱們就可使用 homestead up 等方式執行了。
如下這些都是經常使用命令,若是已經配置全局,命令,能夠不進入homestead文件夾內操做,全部命令vagrant換成homestead便可。
啓動
cd ~/Homestead && vagrant up
改動配置,重載配置
vagrant reload --provision
關閉
vagrant halt
經過 SSH 登陸 vagrant(須要先啓動 vagrant)
vagrant ssh
查看目前安裝的box列表
vagrant box list
刪除box鏡像
vagrant box remove laravel/homestead
刪除指定版本
vagrant box remove laravel/homestead --box-version 6.4.0
查看當前 Homestead 虛擬機的狀態。
vagrant status
完成以上操做,基本知足開發需求,更多內容,請前往官網自行探求。