在Mac上下載Vagrant并使用Homestead

很多Laravel開發(fā)者困惑于PHP項目本地和服務端環(huán)境不統(tǒng)一,導致一系列的問題。解決這種問題目前的最佳實踐有Docker和Vagrant兩種。對于Laravel項目,Laravel-China社區(qū)的大佬們推薦使用Homestead工具進行開發(fā),本文主要講解該工具在MacOS的安裝和基本使用。

  • 在centos7服務器環(huán)境中安裝使用教程請訪問另一篇文章:在CentOS7上下載Vagrant并使用Homestead。

  • 首先,homestead是基于vagrant的,vagrant是基于virtualBox的。也就是說,我們第一步需要下載virtualBoxvagrant兩個軟件。下載速度可能有點慢,盡量都使用最新版,如果兩個軟件版本相差太大,可能會導致homestead無法使用。官網(wǎng)下載地址:

友情提示:linux服務端下載建議使用wget命令,不要本地下載后使用ftp上傳!!!

  • 終端命令行執(zhí)行vagrant -v用來確定是否正確安裝vagrantvirtualBox,如圖:

    • image.png
  • box是vagrant管理的一個個容器,現(xiàn)在我們需要下載一個名為homestead的box。使用命令vagrant box add laravel/homestead,安裝過程需要選擇你本地使用的虛擬機。如圖:

    • image.png
  • 上面的操作你也可以使用Vagrantfile來完成:在終端執(zhí)行vagrant init laravel/homesteadvagrant up即可。

  • 下載速度太慢的話,可以將圖片中的地址復制到迅雷中下載,然后在同級目錄中使用vagrant box add homestead homestead.box命令添加本地box。homestead為自定義名稱,homestead.box為本地box名稱。

  • 你也可以在 http://app.vagrantup.com手動下載合適的版本。

  • 不要再問下載速度慢的問題,謝謝。

  • 下面是box常用命令:

vagrant box list   列出本地所有box
vagrant box remove boxName    刪除某個box

  • 然后安裝好composer和git,配置好git信息這點就不解釋了,終端執(zhí)行命令git --version && composer --version查看是否安裝成功。
查看`composer`當前使用倉庫源`composer config -g repo`。

修改`composer`默認倉庫為使用`composer config -g repositories.packagist composer http://packagist.phpcomposer.com`。
  • 如圖,新建項目失敗,這是因為國內(nèi)源使用http協(xié)議,composer官方于2018年已經(jīng)要求使用https。打開composer全局配置文件config.json,該文件位于~/.composer/目錄下。在config中加入"secure-http": false即可。

  • 查看composer下載的laravel版本可以使用cat laravel/composer.json。

  • 進入項目目錄試試能否運行該框架。cd laravel && php artisan serve,訪問網(wǎng)頁成功。

    image.png

  • 使用git下載homestead到用戶家目錄:cd && git clone https://github.com/laravel/homestead.git。

  • 進入目錄生成homestead.yaml配置文件,執(zhí)行cd ~/homestead && bash init.sh。windows用戶執(zhí)行init.bat。接下來修改這個homestead配置文件。

  • 啟動vagrant,在homestead/目錄下執(zhí)行vagrant up,你可能會碰到這個問題:Check your Homestead.yaml file, the path to your private key does not exist。這說明你電腦沒有生成ssh密鑰,要生成密鑰,前提是你電腦安裝了git,安裝后在Git安裝目錄下有一個ssh-keygen文件,執(zhí)行這個文件就可以。你也可以執(zhí)行下面的代碼。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
eval "$(ssh-agent -s)"
ssh-add -K ~/.ssh/id_rsa
  • 點擊訪問:安裝常見錯誤。

  • 現(xiàn)在我們使用vagrant status查看box狀態(tài),如果是running則使用vagrant ssh登陸到box容器中。如果你沒有正確設(shè)置公鑰和私鑰,此時會被要求輸入密碼(密碼為vagrant)。登陸進去后的數(shù)據(jù)庫密碼為secret。

  • 如果你不想到homestead/目錄下再進入box容器,也可以在任何目錄下使用ssh vagrant@127.0.0.1 -p 2222進入。注意一下物理主機與虛擬容器之間的端口映射。

SSH: 2222       →   Forwards To 22
HTTP: 8000      →   Forwards To 80
HTTPS: 44300    →   Forwards To 443
MySQL: 33060    →   Forwards To 3306
Postgres: 54320 →   Forwards To 5432
  • 此時可以訪問http://homestead.test測試發(fā)現(xiàn)這個問題:No input file specified.。

    • image.png
  • 這是因為Nginx站點配置的目錄被我手動修改了,我們使用vagrant ssh登陸到服務器,修改sudo vim /etc/nginx/sites-enabled/homestead.app這個文件中的錯誤目錄即可,不用重啟nginx。

  • 重新測試訪問即可。

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

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

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