后端開發(fā)環(huán)境Homestead
啟動 Homestead 之前,確保 VirtualBox 、Vagrant、Git 軟件己安裝。
安裝 laravel/homestead
vagrant box add laravel/homestead
如果這個命令失敗了,請確保你安裝的是最新版的 Vagrant(可能被墻)。
請下載 virtual.box自定義安裝: vagrant box add laravel/homestead ~/目錄/virtualbox.box
被墻后后,請去Vagrant 官網(wǎng)下載: https://vagrantcloud.com/laravel/boxes/homestead/versions/9.3.0/providers/virtualbox.box 如果執(zhí)行自定義下載的文件安裝,報如下錯: check your Homestead.yaml file, the path to your private key does not exist. 解決辦法:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"eval "$(ssh-agent -s)"ssh-add -K ~/.ssh/id_rsa
安裝 Homestead
cd ~git clone https://github.com/laravel/homestead.git ~/Homestead
這樣 Homestead Box 就可以作為你的所有 Laravel 項目的主機 切到最新的穩(wěn)定版本
cd ~/Homestead# 或者期望的發(fā)行版本...git checkout v9.4.0
在 Homestead 目錄中使用 bash init.sh 命令來創(chuàng)建 Homestead.yaml 配置文件。 Homestead.yaml 文件將被放在 Homestead 目錄中
# Mac / Linux...bash init.sh
配置 Homestead
打開 ~/Homestead/Homestead.yaml
# 配置共享文件夾 (你電腦上的目錄映射到虛擬機上)folders:
- map: ~/website/bbs
to: /home/vagrant/Code/bbs
# 配置 Nginx 站點sites:
- map: bbs.test
to: /home/vagrant/code/bbs/public
啟動 Vagrant 盒子
配置好 Homestead.yaml 文件后,在 Homestead 目錄下運行 vagrant up 命令,如果你是通過先下載 Homestead Vagrant 盒子再手動添加的方式安裝的話,此時先不要執(zhí)行這個命令,而是需要進入 ~/.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead 目錄(以 MacOS 為例,Windows 對應(yīng)的路徑應(yīng)該是 C:/Users/User/.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead,其中 User 對應(yīng)你的用戶名),添加一個 metadata_url 文件,并初始化文件內(nèi)容如下(如果已有則忽略):
https://vagrantcloud.com/laravel/homestead
接下來,將該目錄下手動添加到 Vagrant 盒子目錄 0 重命名此次安裝盒子版本號 9.4.0(可執(zhí)行命令 vagrant box list 可得laravel/homestead virtualbox版本號),再回到 Homestead 目錄運行 vagrant up 命令。Vagrant 將會啟動虛擬機并自動配置共享文件夾以及 Nginx 站點,初次啟動需要花費一點時間進行初始化。 當然為了關(guān)閉檢測自動更新,配置 Homestead/script/homestead.rb 文件。
// 新增config.vm.box_check_update = false
多版本 PHP
Homestead 6 在同一個虛擬機上引入了對多個 PHP 版本的支持。你可以在你的 Homestead.yaml 文件中指定要用于給定站點的 PHP 版本
sites:
- map: homestead.test
to: /home/vagrant/code/xxx/public
php: "7.1"
PHP版本管理工具
homestead 中自帶了版本管理工具 update-alternatives
#進入 sshvagrant ssh#查看所有 php 版本和當前版本update-alternatives --display php#列出當前 php 所有版本和編號,輸入編號,切換到執(zhí)行的版本update-alternatives --config php
Homestead常用命令
將在Homestead目錄下進行 1. 更新虛擬機上的 Nginx 配置(當更改了 sites 選項)
vagrant reload --provision`
# 或者
vagrant provision && vagrant reload
刪除虛擬機
vagrant destroy --force
啟動
vagrant up
進入系統(tǒng)
vagrant ssh