Mac極簡的開發環境Laravel Valet實踐

來源:互聯網
上載者:User
Laravel Valet 是一個 Mac 下面的極簡的開發環境,不但可以本地開發,還可以分享到公網訪問,當你的電腦開機後會在後台一直啟動 Caddy , Valet 通過 DnsMasq 把所有的 .dev 網域名稱指向你本地安裝的網站,比如網站所在目錄 blog , 通過瀏覽器訪問 blog.dev 就會自動訪問到 blog 了。分享到公網其實主要依靠 ngrok 來實現的。

先來安裝一下

  • 更新 Homebrew
brew update  
  • 確保 brew services 可用
brew services list  
  • 安裝 php70 如果沒有安裝的話
brew install php70  
  • 確保 ~/.composer/vendor/bin 已經添加到系統PATH目錄中
  • 安裝 Valet
composer global require laravel/valet  
  • 安裝 ValetDnsMasq
valet install  

如果上一步出現下面的錯誤:

[ReflectionException]  Class Fxp\Composer\AssetPlugin\Repository\NpmRepository does not exist

這是由於 Composer\Repository\ComposerRepository::whatProvides API 更新了,你已經全域安裝了 fxp/composer-asset-plugin ,所以你需要更新一下:

composer global require fxp/composer-asset-plugin --no-plugins  

如果 DnsMasq 安裝失敗的話手動安裝一下

brew install dnsmasq  
  • Ping一下 *.dev ,如果Ping通了說明就OK了
⇒  ping *.devPING *.dev (127.0.0.1): 56 data bytes  64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.040 ms  64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.065 ms  64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.064 ms  64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.062 ms  

下面來啟動一個 Valet 網站

目前直到 1.1.7 版本支援的驅動如下:

  • Laravel
  • Lumen
  • Symfony
  • Zend
  • CakePHP 3
  • WordPress
  • Bedrock
  • Craft
  • Statamic
  • Jigsaw
  • Wordpress
  • Joomla
  • Contal
  • Sculpin
  • Static HTML

當然,你也是可以自己驅動, Custom Valet Drivers

  • 建立一個檔案夾
mkdir ~/WebRoot/ValetSite && cd ~/WebRoot/ValetSite  
  • 運行 park 命令,把上面的目錄作為尋找網站路徑
valet park  
  • 建立一個Laravel驅動的網站
laravel new blog  
  • 瀏覽器訪問 http://blog.dev 就OK了

關於 link 命令

link 命令也可以用來啟動 Laravel 網站。 park 命令會把這個目錄下所有檔案夾都當做獨立的不同網站,而當你只需要啟動一個網站的時候,可以使用 link 命令。

cd ~/WebRoot/ValetSite/blog  valet link test-blog  

執行上面命令就可以通過 http://test-blog.dev 訪問項目網站了,還有兩個有用的命令:

valet links  valet unlink  

一看就知道幹嘛用的了

讓網站支援TLS

讓網站支援TLS也很簡單,自需要執行:

valet secure blog  

這樣就可以用 https://blog.dev 進行訪問了,取消的話:

valet unsecure blog  

分享網站

這個需求其實挺實用,比如自己開發的東西需要讓別人通過外網訪問到,只需要一個簡單的命令就可以了

valet share  

這樣就會通過 ngrok 產生一個外網URL,要停止分享,可以按 Control + C 來取消進程。

ngrok by @inconshreveable                                                                                                                                                 (Ctrl+C to quit)Tunnel Status                 online  Version                       2.0.25/2.1.1  Region                        United States (us)  Web Interface                 http://127.0.0.1:4040  Forwarding                    http://fda651a8.ngrok.io -> blog.dev:80  Forwarding                    https://fda651a8.ngrok.io -> blog.dev:80Connections                   ttl     opn     rt1     rt5     p50     p90                                0       0       0.00    0.00    0.00    0.00

查看網站日誌

如果你想查看所有網站的日誌,讓新的日誌也會自動的展示在終端中只需要執行 valet logs

其實還有一個隱藏的控制台:訪問 http://localhost:4040/inspect/http

還有一些 Valet 命令

命令 描述

valet forget

在 “parked” 的目錄中執行該命令來把其從 parded 目錄列表中刪除。

valet paths

查看所有 “parked” 路徑

valet restart

重啟 Valet 程式

valet start

啟動 Valet 程式

valet stop

停止 Valet 程式

valet uninstall

卸載 Valet 程式

轉載請註明:轉載自 Ryan是菜鳥 | LNMP技術棧筆記

如果覺得本篇文章對您十分有益,何不打賞一下

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.