Laravel Homestead配置(往事不堪回首月明中)

Laravel Homestead配置(往事不堪回首月明中)

釋放雙眼,帶上耳機,聽聽看~!

背景

Laravel 是在 Vagrant 的基礎上讓開發環境更加統一,讓開發者都能在指定的具體開發環境下使用 Laravel,這時便有了 HomesteadHomestead 是一個基於 Ubuntu 構建的虛擬機,它包含了所有 Laravel 開發時需要用到的東西,你可以很輕鬆的通過指定的 Laravel 版本來找到相對應版本的 Homestead 並進行安裝。Homestead 提供的預設開發環境還會裝上很多常用的開發工具來輔助 Laravel 進行項目開發,包括 PHP7, Nginx, Redis, Memcached, MySQL, Git, Node.js, NPM 等等

為什麼要用Homestead

Homestead 是 Laravel 官方推薦的開發環境,開發盡量用Homestead。以下需要注意:

1.Homestead 統一了環境,避免歧義,減少新手在學習中遇到不必要的卡頓;
2.統一環境帶來的好處還有:當你遇到問題的時候,其他同學能很容易的幫助到你;
3.最大程度接近線上生產環境,為後續的課程做鋪墊;
4.這是最佳實踐,是需要從一開始培養起來的好習慣。

博主表示強烈要求入坑,必須要用,環境統一,外掛齊全,虛擬機自帶配置elasticsearch ;Homestead虛擬機啟動便可

Laravel Homestead配置(往事不堪回首月明中)

Windows下的開發環境部署(請按照一下步驟安裝)

1 VirtualBox

VirtualBox 是 Oracle 公司的開源虛擬機軟體。

2 Vagrant

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

Homestead 介紹

Homestead 利用 Vagrantfile 提供的便利,Array了一整套的可配置、可移植和復用的 Laravel 開發環境。Homestead 虛擬機裡面包含了 Nginx Web 伺服器、PHP 7、MySQL、Postgres、Redis、Memcached、Node,以及所有你在使用 Laravel 開發時需要用到的各種軟體。
Homestead 包含了兩個東西:
Homestead 管理腳本;
Homestead Box 虛擬機盒子。
接下來獨自說明下。

1. Homestead 管理腳本

Homestead 腳本使用 Ruby 和 Shell 腳本編寫而成。原理是對 Vagrantfile 文件做Array。將從 ~/Homestead/Homestead.yaml 讀取的配置信息,在 provision 時,解析為 Vagrant 命令並進行對虛擬機的配置。Homestead 腳本的作用在於,提供了極其簡單易用的接口,使我們只需要通過傻瓜化配置,即可完成複雜的任務。以下是幾個常用的任務:

IP 配置,端口映射;
Nginx Site 創建;
數據庫創建;
主機文件夾掛載到虛擬機等任務。
所有 Homestead 的版本歷史在 此處 可以找到。在本書中,為了提高操作的效率,我們將會使用Array版本的 Homestead。

2. Homestead Box 虛擬機盒子

homestead.box 虛擬機盒子是提前打包好的 Vagrant Box 虛擬機盒子,裡面預裝了 Nginx Web 伺服器、PHP 7、MySQL、Postgres、Redis、Memcached、Node,以及所有你在使用 Laravel 開發時所需要用到的各種軟體。

安裝和使用 Homestead

  1. 下載和導入 Homestead Box

首先我們需要下載 Homestead 虛擬機盒子,下載後的文件為 lc-homestead-6.1.1-2018090400.zip,請對其進行 zip 解壓操作,解壓成功後可以看到目錄 lc-homestead-6.1.1-2018090400,此目錄下包含兩個文件:
virtualbox.box(教程Array化過的 Homestead 盒子)
metadata.json(盒子的導入配置文件)
在解壓目錄中 lc-homestead-6.1.1-2018090400 運行以下命令導入 Box:

> vagrant box add metadata.json

如果你使用的 Windows 系統在安裝 Homestead 的時候報錯:The box ‘laravel/homestead’ could not be found or
could not be accessed in the remote catalog.,請下載 MS Visual C++ 2010 x86 Redistributables 並進行安裝即可修復。

4 安裝GIT

5 下載 Homestead 管理腳本

利用Git 輸入命令:

> cd ~

> git clone Homestead

進入Homestead 目錄,初始化Homestead

> bash init.sh

Homestead.yaml 配置文件

1. 虛擬機設置

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

2.SSH 秘鑰登錄配置

authorize: ~/.ssh/id_rsa.pub
公鑰和私鑰一起同步到虛擬機
keys:

  • ~/.ssh/id_rsa
  • ~/.ssh/id_rsa.pub
    檢查主機上是否已經生成過 SSH Key

    ls -al ~/.ssh
    生成 SSH Key
    ssh-keygen -t rsa -C "你的郵箱賬號@.com"
    Generating public/private rsa key pair.
    回車儲存密鑰,設置密鑰

Laravel Homestead配置(往事不堪回首月明中)

id_rs —— SSH 秘鑰的 私鑰 (Private Key)
id_rsa.pub —— SSH 秘鑰的 公鑰 (Public Key)

3. 共享文件夾配置

我們可以通過 folders 來指明本機要映射到 Homestead 虛擬機上的文件夾。
map 對應的是我們本機的文件夾,格式例如:E:/Homestead/Code,以開發者實際項目目錄為準。
to 對應的是 Homestead 上的文件夾。
folders:

  • map: ~/Code
    to: /home/vagrant/Code
    創建Code

    cd ~
    mkdir Code

4. 站點配置

將 homestead.test 映射到一個 Laravel 項目的 public 目錄上。
在hosts 192.168.10.10 homestead.test

5. 數據庫配置

databases:

  • homestead
6. 自訂變數

variables:

  • key: APP_ENV
    value: local

啟動虛擬機vagrant up

登入虛擬機 > vagrant ssh

以上就是Homestead的安裝配置,有需要的可以向我要安裝資源
聲明:本文為原創作品,版權歸作者所有。未經許可,不得轉載或用於任何商業用途。如若本站內容侵犯了原著者的合法權益,可聯繫我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜尋