mac下快速搭建MNMP環(huán)境之Laravel Valet

前言

不需要(自己)安裝nginx,不需要各種服務(wù)器配置,就2個(gè)命令,讓你的mac Nginx+PHP環(huán)境跑起來。

簡(jiǎn)介

Valet 是Laravel在 mac下的一個(gè)極簡(jiǎn)開發(fā)環(huán)境。去掉了Vagrant,/etc/hosts。 你可以通過通道方便的分享你的站點(diǎn)到公網(wǎng)環(huán)境。
Laravel Valet通過后臺(tái)運(yùn)行的nginx,使用 DnsMasq轉(zhuǎn)發(fā)請(qǐng)求到你本地環(huán)境
換句話說,通過Valet 一個(gè) Laravel開發(fā)環(huán)境將僅僅占用7MB內(nèi)存

Valet 支持但不局限于運(yùn)行這些框架

安裝

Valet 依賴于 macOS 和 Homebrew.在安裝之前,你應(yīng)該確保Apache或者Nginx沒有綁定主機(jī)的80端口

  • 安裝并升級(jí)你的 Homebrew. 終端命令 $ brew update
  • 安裝php7.1 使用Homebrew 終端命令 $ brew install homebrew/php/php71
  • 通過Composer全局安裝Valet 終端命令 $ composer global require laravel/valet。并確保~/.composer/vendor/bin在你系統(tǒng)的環(huán)境變量中.
  • 運(yùn)行 $ valet install命令. 將會(huì)開始配置安裝你的Valet和DnsMasq.并注冊(cè)守護(hù)進(jìn)程.
安裝成功

安裝完成之后,測(cè)試一下,ping *.dev
$ ping test.dev
如果返回 127.0.0.1代表安裝成功

指定其他的域名

Valet默認(rèn)在項(xiàng)目中使用*.dev TLD.如果你想使用其他的域名代替*.dev.你可以執(zhí)行命令$ valet domain tld-name 命令。
舉個(gè)栗子。使用 *.app 替換 .dev.
$ valet domain app
現(xiàn)在的你valet項(xiàng)目將自動(dòng)在 *.app上運(yùn)行

數(shù)據(jù)庫(kù)

如果你需要安裝一個(gè)數(shù)據(jù)庫(kù),你可以嘗試執(zhí)行
$ brew install mariadb
然后使用brew services start mariadb啟動(dòng)之

升級(jí)

你如果需要升級(jí)Valet, 僅僅只需要執(zhí)行

$ composer global update
$ valet install

站點(diǎn)配置

安裝完成Valet之后,我們可以使用兩個(gè)命令來管理站點(diǎn)。 parklink
使用park命令

  • 建立一個(gè)目錄,執(zhí)行命令 valet park. 就這么簡(jiǎn)單
$ mkdir ~/Sites
$ cd ~/Sites
$ valet park
$ laravel new blog

現(xiàn)在使用瀏覽器打開http://blog.dev訪問這個(gè)項(xiàng)目。 這就是park的簡(jiǎn)單實(shí)用方法。
以后添加進(jìn)來的項(xiàng)目。直接在文件夾下新建,就可以自動(dòng)映射。訪問入口 http://文件夾名.dev
使用link命令
link有點(diǎn)類似linux的ln -s. 在你的自定義項(xiàng)目中運(yùn)行此命令,將會(huì)自動(dòng)在park目錄下建立一個(gè)同步鏈接。我們僅僅需要執(zhí)行 valet link 項(xiàng)目名如下

$ mkdir ~/test
$ echo '<?php phpinfo(); ?>' > ~/test/index.php
$ valet link test_pro

通過瀏覽器打開http://test_pro.h 就能看到phpinfo頁(yè)面了
任意位置運(yùn)行$ valet links可以查看已經(jīng)建立的鏈接
刪除鏈接可以運(yùn)行命令valet unlink test_pro

使用https

運(yùn)行valet secure 項(xiàng)目名使項(xiàng)目支持https
運(yùn)行valet unsecure 項(xiàng)目名關(guān)閉項(xiàng)目https

分享站點(diǎn)

Valet可以在不包含別的控件下,和外網(wǎng)分享你的本地站點(diǎn)(僅支持非https),
進(jìn)入項(xiàng)目目錄,運(yùn)行命令valet share

Paste_Image.png

Valet直接內(nèi)建了一個(gè)ngrok,不知道以后會(huì)不會(huì)收費(fèi),現(xiàn)在ngrok已經(jīng)商用了。
現(xiàn)在我們就可以直接通過下面的外網(wǎng)地址,把我們的站點(diǎn)分享出去了,可以很方便的用來本地調(diào)試和開發(fā)微信相關(guān)接口.
停止分享 Controller + C

自定義Valet驅(qū)動(dòng)

valet驅(qū)動(dòng)文件在~/.valet/Drivers下,我們可以根據(jù)相關(guān)需求進(jìn)行自定義

其他的Valet命令

命令 描述
valet forget 在已經(jīng)parked的目錄進(jìn)行,將把此目錄從parked 站點(diǎn)中移除
valet paths 查看parked目錄
valet restart 重啟valet守護(hù)進(jìn)程
valet start 啟動(dòng)valet守護(hù)進(jìn)程
valet stop 停止valet守護(hù)進(jìn)程
valet uninstall 卸載valet守護(hù)進(jìn)程

參考資料

Laravel官方手冊(cè)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容