windows上的vagrant的virtualbox版本在開啟wsl2之後會有奇怪的報錯。。。hyperv版本又完全下不動。正好homestead的維護者最近搞了個wsl2的一鍵安裝指令碼,體驗了一下好像還行。這裡附上操作步驟。
配置環境
首先下載homestead的repo
git clone https://github.com/laravel/homestead
cd homestead
git checkout 20.04 #切換至20.04分支
然後執行安裝指令碼。
sudo -E ./bin/wsl-init
What is your WSL user name?
# 輸入wsl的使用者名稱,軟體將安裝到該使用者名稱下
What is your WSL user group? (Same as username if you're unsure)
# 輸入wsl的使用者群組名,一般和使用者名稱一樣
指令碼會自動在wsl上安裝並配置好需要的軟體環境如php、mysql、nginx等。
掛載網站
安裝完成後,編輯Homestead.yaml檔案,加入新配置項wsl_sites
,語法格式和sites
相同
wsl_sites:
- map: vcdt.test
to: /mnt/c/Users/halo/Code/vcdt/public
接下來,執行
./bin/homestead wsl:create-sites
配置檔案會被自動寫入nginx,此時訪問127.0.0.1
(或者編輯以下windows下的hosts檔案後直接訪問域名)應該就能看到網站上線了。如果看不到的話,可以參考一下這篇文章,獲取wsl2虛擬機器的ip之後再嘗試。
遇到的一些問題
mysql密碼
檢視指令碼發現配置和homestead虛擬機器上一樣,使用者名稱為homestead
,密碼為secret
.
網站響應速度十分之慢
這個我查了一下好像是wsl2檔案io的問題,訪問windows盤的速度特別慢,而且暫時無解。可以看
唯一的解決辦法就是把網站目錄放在wsl系統裡……對比圖:
wsl2目錄下:
windows本地目錄:
重啟後網站無法載入
查了下好像是wsl2的service不會自動開啟。。。這個只能手動搞了,或者在.bashrc中寫入
sudo service nginx restart
sudo service php7.4-fpm restart
sudo service mysql restart
本作品採用《CC 協議》,轉載必須註明作者和本文連結