软件开发

WSL 是 Windows Subsystem for Linux 的简称, 可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生虚拟机开销。

安装 WSL

1.开启 WSL

首先需要使用管理员权限打开 PowerShell 执行如下命令

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

或者在程序和功能选打开 适用于 Linux 的 Windows 子系统

出现提示时,重启计算机。

2.下载 Linux 发行版

直接参考 WSL安装指南 使用 Microsoft Store 安装的方法无法将 Linux 安装到系统盘之外的分区,这里使用的是 手动下载 的方法。

单击以下链接下载您喜欢的 Linux 的发行版,这里选的是 Ubuntu 16.04

3.安装 Linux 发行版

使用 7-ZIP 或者其他工具解压下载的 appx 文件 ( 比如解压到 D:\WSL\Ubuntu ) 然后运行其中的 ubuntu1604.exe
需要等待一两分钟时间来完成安装,安装完成后,系统会提示创建新的用户帐户(及其密码)。

此用户帐户用于启动分发版时默认登录的非管理员用户。

可根据需要选择任何用户名和密码 - 它们与 Windows 用户名无关。

安装完成后即可通过 开始 -> 运行 中输入 wsl 打开终端

4.配置 apt 为 163 源

  • 运行 sudo vim /etc/apt/sources.list,替换为以下内容
deb http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse
  • 运行 sudo apt update 更新源

5.配置 sudo 免密码

  • 添加sudo文件的写权限 sudo chmod u+w /etc/sudoers
  • 编辑sudoers文件 sudo vim /etc/sudoers, 修改 %sudo ALL=(ALL:ALL) ALL%sudo ALL=(ALL:ALL) NOPASSWD:ALL

6.设置系统语言为中文

# 安装中文支持
sudo apt install language-pack-zh-hans
# 设置默认语言
sudo update-locale LANG=zh_CN.UTF-8

配置开发环境

1.配置服务自启动

  • 编辑 sudo vim /etc/init.wsl 文件添加如下内容
#! /bin/sh
# Filename: /etc/init.wsl
# Usage: sudo /etc/init.wsl [start|stop|restart]

service dbus start
  • 开始 -> 运行 中输入 regedit 回车打开注册表编辑器

定位到 计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 后新建一个 REG_SZ 类型的值,名称随意,数值数据填写以下内容

mshta vbscript:CreateObject("WScript.Shell").Run("wsl -d Ubuntu-16.04 -u root bash /etc/init.wsl",0,TRUE)(window.close)

以后就可以向 /etc/init.wsl 追加服务,实现开启自启动了

2.安装 golang 环境

# 安装必要依赖
sudo apt install git g++ make
# 下载并解压
cd /usr/local
sudo wget https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz
sudo tar zxf go*.tar.gz && rm -f go*.tar.gz
# 配置环境变量
sudo vim /etc/profile.d/golang.sh
# 修改 git 默认编辑器为 vim
git config --global core.editor vim

配置环境变量如下

export GO111MODULE=off
export GOPROXY=https://goproxy.cn,direct
export PATH=$PATH:/usr/local/go/bin

3.安装 nodejs 环境

# 安装 Node Version Manager
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bash
# 安装 v10 的 Node
source ~/.bashrc
nvm install 10

4.安装 nginx + php 环境

# 添加 PHP 源
sudo apt-add-repository ppa:ondrej/php && sudo apt update
# 安装
sudo apt install nginx php-fpm
# 启动 fpm
sudo service php7.3-fpm start
# 启动 nginx
sudo service nginx start
# 编辑 nginx 配置
sudo vim /etc/nginx/sites-available/default 

配置添加如下内容

location ~ .*\.php(\/.*)*$ {
    include snippets/fastcgi-php.conf;
    # 设置监听端口
    fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

# 用于伪静态
if (-f $request_filename/index.html) {
    rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php) {
    rewrite (.*) $1/index.php;
}
if (!-f $request_filename) {
    rewrite (.*) /index.php;
}

卸载 WSL

cmd 下输入 wslconfig /l,可以看到所有已安装的发行版

rem 卸载删除wsl
wslconfig /u <DistributionName>

Comment

This is just a placeholder img.