安裝
- 控制面板->啓用或關閉Windows功能->適用於Linux的Windows子系統,挑勾,安裝
- 下載安裝包 https://github.com/yuk7/CentWSL
- 解壓到同一目錄中,如
F:\CentOS7
- 運行
CentOS7.exe
配置
- 更新
yum -y update
- 安裝軟件
yum -y install wget zip unzip passwd openssl openssh-server openssh-clients lsof
環境
下載最新的hdltmp安裝包,解壓並安裝
SSH配置
- 編輯
/etc/ssh/sshd_config
,修改或打開Port 22
UsePAM no
PermitRootLogin yes
PasswordAuthentication yes
- 創建公私密鑰,輸入命令後,直接按兩次enter鍵確認就行了
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
- 開啓服務
/usr/sbin/sshd -D &
開機啓動(慎用)
Win+R
運行shell:startup
,打開啓動文件夾- 創建文件,比如
CentOS7.vbs
- 用編輯器打開文件,寫入命令,例:
Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d CentOS7 -u root /etc/init.d/nginx start"
ws.run "wsl -d CentOS7 -u root /etc/init.d/php-fpm start"
ws.run "wsl -d CentOS7 -u root /etc/init.d/mysql start"
ws.run "wsl -d CentOS7 -u root /usr/sbin/sshd -D &"
-d
後跟的是wsl名稱,可在命令行中用wsl -l
命令查看
多wsl並存
將CentOS7.exe和rootfs.tar.gz拷貝到新目錄中,並重命名CentOS7.exe,例CentOS7_2.exe,雙擊運行即可
關鍵服務
- LxssManager
- LxssManagerUser_xxxxx
WSL裏Nginx+PHP,反映慢,卡住等問題
在wsl裏搭建lnmp環境時,
訪問簡單的PHP 文件 (例如Hello world)沒有問題,
但訪問多數 PHP 文件卡死,
有的(例如phpinfo()),雖然可以加載出來但瀏覽器顯示網頁仍未加載完全或者巨慢。
原因
用 Unix Socket 方式連接 Nginx 和 PHP,然而,WSL 對 Unix Socket 的支持並不是那麼完美
解決方法
在 nginx.conf 的 http 節點添加:
fastcgi_buffering off;
然後重啓nginx即可。