WSL2配置laravel環境

learnercc發表於2020-10-05

參考: github.com/laravel/homestead/issue...

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目錄下:
WSL2配置laravel環境
windows本地目錄:

WSL2配置laravel環境

重啟後網站無法載入

查了下好像是wsl2的service不會自動開啟。。。這個只能手動搞了,或者在.bashrc中寫入

sudo service nginx restart
sudo service php7.4-fpm restart
sudo service mysql restart
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章