软件开发

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 20.04

3.安装 Linux 发行版

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

如果需要使用 root 默认登录可以运行 ubuntu2004.exe config --default-user root

4.配置 apt 国内源

sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
# 更新源
apt-get update

5.设置系统语言为中文

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

配置开发环境

以下部分只选择自己需要的项目配置即可

1.配置服务自启动

  • 编辑 vim /etc/init.wsl 文件添加如下内容
#! /bin/sh
# Filename: /etc/init.wsl
# Usage: /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-20.04 -u root bash /etc/init.wsl",0,TRUE)(window.close)

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

2.安装 golang 环境

# 安装必要依赖
apt-get install -y git cmake
# 下载并解压
curl -o- https://dl.google.com/go/go1.14.4.linux-amd64.tar.gz | tar zxf - -C /usr/local
# 修改 git 默认编辑器为 vim
git config --global core.editor vim
# 配置环境变量
cat >> /etc/profile.d/golang.sh << EOF
export GOPROXY=https://goproxy.cn,direct
export GOPATH=/data/src/golang
export PATH=\$PATH:\$GOPATH/bin:/usr/local/go/bin
EOF
  • 安装 redis postgres 数据库
apt-get install -y redis-server postgresql unzip
# 服务启动
service postgresql start
# 修改数据库密码
su postgres -c psql
postgres=# \password
# 重新初始化数据库
pg_createcluster 12 main --start
  • 安装 consul 服务
# 下载 consul 
curl -o consul.zip https://releases.hashicorp.com/consul/1.8.0/consul_1.8.0_linux_amd64.zip
unzip -d /usr/local/bin consul.zip
# 以守护进程方式运行
start-stop-daemon --start --background --exec /usr/local/bin/consul -- \
    agent -server -bootstrap-expect=1 -bind=127.0.0.1 -data-dir=/data/opt/consul -ui

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 环境

# 安装
apt-get install -y nginx php-fpm
# 启动 fpm
service php7.4-fpm start
# 启动 nginx
service nginx start
# 编辑 nginx 配置
vim /etc/nginx/sites-available/default 

配置添加如下内容

location ~ .*\.php(\/.*)*$ {
    include snippets/fastcgi-php.conf;
    # 设置监听端口
    fastcgi_pass unix:/run/php/php7.4-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.