win10 系統下安裝 wsl + Laravel 開發環境 Ubuntu16.04LTS + WIN10

snowlyg發表於2018-10-03

最近社群有一篇文章 開啟新大門,使用 wsl 代替虛擬機器的可行性方案 ,介紹了怎麼使用 win10 子系統配置 laravel 開發環境。本人瞎搗鼓了一下,發現並不是一帆風順的就安裝好了。

問題一: 當進行到,使用指令碼搭建環境 這一步的時候會出現 一直處於‘初始化軟體源’

我去 github 專案看了一下,發現出現這個問題的同學還真不少。不過裡面也沒有給過明確的解決方案。經過多次嘗試,發現可能 win10 系統的許可權有關,這個問題在很多軟體的安裝過程中多次遇到,我建議在win10上安裝執行軟體最好採用 ‘以管理員身份執行’ 的方式啟動。這樣會避免很多問題。 還有一點,因為我的網路還算比較不錯,所以 更換 Linux 子系統的軟體源並更新 這一步我並沒後替換,還是採用的系統自帶的軟體源。

問題二: 在 建立測試站點 這一步 輸入正確的專案名稱還是提示不合法的輸入。

這一問題讓我很是費解,甚至看過相關指令碼原始碼之後還是一頭霧水。最終解決的方法是,用管理員許可權啟動子系統,然後在 root 使用者下執行命令就沒有提示錯誤了。個人認為其實是許可權問題,只是指令碼沒有通過提示都是 專案名稱包含非法字元 有些誤導。

問題三:所有步驟都做完之後,專案還是無法啟動。

因為我途中關閉過子系統。發現原來重啟後 php ,redis,mysql 等服務都不會開機自動啟動的,需要手動啟動才可以。

問題四:每次開機啟動子系統報錯。
file
這個問題是因為子系統所需要的服務沒有啟動,開啟工作管理員 重啟 LxssManager 服務就可以了。

設定 host 的時候直接設定 127.0.0.1 就行了,子系統的 ip 就是本機的 ip

最後來正式啟動後,訪問專案的速度還是不錯的!對比 homestead 來說的好處是不用裝虛擬機器和下載box 啟動的速度也比較快!

發現還有很多同學不能正常安裝成功,這裡貼出自己的安裝步驟 ,大概時長10分鐘。沒有像其他同學說的要幾天時間。我沒有完全按照 [@circle](https://learnku.com/users/20822) 的教程 開啟新大門,使用 wsl 代替虛擬機器的可行性方案,減少了一些不太重要的步驟。
  1. 安裝 wsl 安裝好 以管理員身份執行 啟動 wsl

  2. 設定 root 密碼

sudo passwd root // 為 root 使用者設定密碼
su root // 切換 root 使用者
  1. 安裝環境 開發

wget -qO- https://raw.githubusercontent.com/summerblue/laravel-ubuntu-init/master/download.sh - | bash
  1. 安裝完畢就可以建立專案了,現在專案裡面是沒有東西的,我只是用這裡自動生成的配置檔案(偷個小懶),我直接用的 本地 d 盤下的專案的名字和域名,後面直接建立一個軟連結就行了

./laravel-ubuntu-init/16.04/nginx_add_site.sh
  1. 建立本地專案到 wsl 的軟連線

cd /var/www   //切換到 wsl 專案下
rm -rf your_project_name  //刪除前面建立專案生成的空目錄,後面用軟連線會衝突

ln -s /mnt/d/www/your_project_name /var/www/your_project_name
  1. 啟動 相關服務

service mysql start
service nginx start
service redis-server start
sudo service php7.2-fpm start
  1. 現在已經可以訪問你的本地專案了,不過會非常慢。修改一下 nginx 的配置 vi /etc/nginx/nginx.conf, 新增一下程式碼

http {

    ...

    fastcgi_buffering off;

    ...
}
  1. 重啟 nginx 現在就可以順暢的開發了。

service nginx restart
本作品採用《CC 協議》,轉載必須註明作者和本文連結

不會偷懶的程式設計師無法成為一個優秀的程式設計師

相關文章