laravel開發環境homestead搭建詳解

laravel開發環境homestead搭建詳解php

常見的幾種開發環境

Laravel的開發環境其實不少,由於它自己就是PHP,因此只要知足版本的狀況下,任何pHP環境他都能跑起來,好比說常見的wamp/mamp/phpstudy等集成化環境都是能夠的,可是,爲了更好的減小錯誤,更多的兼容,之後的上線環境,官方推薦了兩種開發環境,一種是homestead,另外一種是Valet。第1種呢,Windows系統和mac系統,均可以支持,第2種的專門就是爲mac系統的用戶所提供的,整體感受兩種環境都很是很是好用,今天咱們就着重說一下第1種環境的搭建。html

homestead環境for windows

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

1. 安裝git

下載地址:這裏附上2.25.1版本下載web

git for windows 32位數據庫

git for windows 64位

也可到官方網站下載最新版:git官方
安裝好進行備用。windows

2.安裝虛擬機管理軟件

在你啓動 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,安裝完畢備用。

3. 安裝Vagrant(管理虛擬機的工具)

Vagrant by HashiCorp Vagrant 是用來管理虛擬機的工具,支持當前主流的虛擬機系統如 VirtualBox、VMware、AWS 等。Vagrant 的主要做用是提供一個可配置、可移植和複用的軟件環境。Vagrant 讓你經過編寫一個 Vagrantfile 文件來控制虛擬機的啓動、虛擬機網絡環境的配置、虛擬機與主機間的文件共享,以及啓動後自動執行一些配置腳本,如自動執行一個 Shell Script 來安裝一些必備的開發工具,如安裝配置MySQL、PHP,甚至是自動配置 Nginx 站點。這意味着,在一個多人開發的項目中,你只須要同步 Vagrantfile 文件,就能夠保證參與項目的每一個人各自的機器上擁有一致的開發環境。

下載地址:下載地址

大小200多MB

4.安裝Homestead box

第一種--在線安裝 Homestead Vagrant Box(不推薦)

這樣安裝下載會很是慢,我安裝了好屢次都失敗了,可使用第二種本地文件安裝方式

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

注意更改路徑。
等待安裝完畢,顯示如上圖則已安裝成功。

5. 安裝 Homestead 管理腳本

首先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"

6.配置同步文件夾

在~/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的子目錄中。

7.配置SSH 祕鑰登陸

用於實現 SSH 免密碼登陸 修改 Homestead.yaml 文件如下內容:

keys:
    - ~/.ssh/id_rsa
    - ~/.ssh/id_rsa.pub

生成 key
使用命令

ssh-keygen -t rsa -C "xxxxxx@qq.com"
#後面一真按enter鍵,設置密碼

8.鏈接數據庫

homestead 默認已經在虛擬機中爲 MySQL 和 PostgreSQL 數據庫作好了配置。要從主機的數據庫客戶端鏈接到 MySQL 或 PostgreSQL ,應該鏈接到 127.0.0.1 ,端口 33060 (MySQL) 或 54320 (PostgreSQL)。用戶名和密碼分別是 homestead / secret 。

注意:只有從本地鏈接 Homestead 的數據庫時才能使用這些非標準的端口。而 Laravel 在虛擬機中 運行時仍是應該使用默認的 3306 和 5432 端口進行數據庫鏈接。

9.配置臨時站點(域名)

一旦你的 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

10.配置全局命令

Git for Windows環境中使用

若是咱們想在任何目錄均可以執行 vagrant 命令,須要進行如下設置 修改 ~/.bash_profile 文件內容,這種設置只在 git for windows 軟件中使用

function homestead() {
    ( cd ~/Homestead && vagrant $* )
}

這樣咱們就可使用 homestead up 等方式執行了。

11.經常使用命令

如下這些都是經常使用命令,若是已經配置全局,命令,能夠不進入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

完成以上操做,基本知足開發需求,更多內容,請前往官網自行探求。

原文地址:https://www.wjcms.net/archives/laravel%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83homestead%E6%90%AD%E5%BB%BA%E8%AF%A6%E8%A7%A3

關注我更多精彩

相關文章
相關標籤/搜索