laravel開發環境homestead搭建詳解
常見的幾種開發環境
Laravel的開發環境其實很多,因為它本身就是PHP,所以只要滿足版本的情況下,任何pHP環境他都能跑起來,比如說常見的wamp/mamp/phpstudy等集成化環境都是可以的,但是,為了更好的減少錯誤,更多的兼容,以后的上線環境,官方推薦了兩種開發環境,一種是homestead,另一種是Valet,第1種呢,Windows系統和mac系統,都可以支持,第2種的專門就是為mac系統的用戶所提供的,總體感覺兩種環境都非常非常好用,今天我們就著重說一下第1種環境的搭建,
homestead環境for windows
Laravel 致力于讓整個 PHP 開發體驗變的更愉快,包括你的本地開發環境, Vagrant 提供了一種簡單、優雅的方式來管理和配置虛擬主機,
Laravel Homestead 是一個官方預封裝的 Vagrant box ,它為你提供了一個完美的開發環境,你不需要在本地機器安裝 PHP、web 服務器和其他的服務器軟體,你再也不用擔心會弄亂你的作業系統了!Vagrant boxes 是一次性的, 如果出現問題, 你可以在幾分鐘內銷毀并重新創建 box !
Homestead 可以運行在任何 Windows、Mac、或 Linux 系統, 它包括了 Nginx web 服務器,PHP7.4、PHP 7.3、PHP 7.2、PHP 7.1、MySQL、PostgreSQL、Redis、Memcached、Node 以及你開發 Laravel 所需要的東西,
1. 安裝git
下載地址:這里附上2.25.1版本下載
git for windows 32位
git for windows 64位

也可到官方網站下載最新版:git官方
安裝好進行備用,
2.安裝虛擬機管理軟體
在你啟動 Homestead 環境之前,你必須安裝 VirtualBox 6.x,VMWare,Parallels 或 Hyper-V 以及 Vagrant,以上所有軟體均針對不同的作業系統提供了易于使用的可視化安裝包,
我這里使用的是VirtualBox軟體,https://www.virtualbox.org/wiki/Downloads 是 Oracle 公司的開源虛擬機軟體,VirtualBox 號稱是最強的免費虛擬機軟體,它不僅功能齊全,而且性能也很優異!VirtualBox 支持大部分流行的系統,如:Mac, Windows, Linux 等,
下載地址:下載地址
選擇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 "[email protected]"
#后面一真按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
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/13949.html
標籤:PHP
上一篇:PHP代碼實作TopN


