後端

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虛擬機啟動便可

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.
    回車儲存密鑰,設置密鑰

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的安裝配置,有需要的可以向我要安裝資源

Recent Posts

Flexible Shipping Pro

在WordPress的世界裡,…

5天 ago

2023 年 WordPress 中最棒的多語言翻譯外掛推薦

擔心如何翻譯您的網站語言以支持…

1年 ago

2023 年 WordPress 中最棒的可視化頁面構建器外掛推薦

在設計任何頁面或網站時,對於不…

1年 ago

Ella 多用途 Shopify 佈景主題

Shopify 佈景主題市場上有許…

1年 ago

AI Engine Pro

喵容今天帶來的 AI Engi…

1年 ago

AIKit

喵容今天為您帶來 AIKit …

1年 ago