windows系统启用子系统Ubuntu

按win(键盘窗口键)+R,输入winver命令,出现系统版本号信息,我的系统版本号为17763.437.
若版本号较低,可在开始菜单——设置——-更新和安全——-Windows更新中更新一下版本。
Ubuntu系统 - 图1
Ubuntu系统 - 图2Ubuntu系统 - 图3

安装前系统设置

开始————设置————更新和安全———-开发者选项———开发人员模式,出来确认对话框时选择《是》。
Ubuntu系统 - 图4
Ubuntu系统 - 图5Ubuntu系统 - 图6
点左上角回到设置页面,选择:应用———>程序和功能———>启用或关闭windows功能———>在出来的对话框中选择适用于Linux的windows子系统

启用适用于Linux的windows子系统设置

左上角回到设置页面,选择:应用———>程序和功能———>启用或关闭windows功能———>在出来的对话框中选择适用于Linux的windows子系统
Ubuntu系统 - 图7Ubuntu系统 - 图8
Ubuntu系统 - 图9..

下载Linux系统并安装

开始菜单———打开Microsoft Store———-在搜索框中输入Linux——-查找——-选择Ubuntu——-安装(下载和安装需要一定时间)-安装完成后启动即可
Ubuntu系统 - 图10

Ubuntu系统的设置

系统启动后会先设置用户名和密码,注意:密码在输入过程中不会有任何显示,实际已经输入成功,输入完成后回车即可
随后设置root用户的密码。最好是:数字及大小写字母组合
然后输入su并输入密码,切换到root用户下,升级apt
到这一步Linux已经启用成功了,后续是设置优化操作步骤
Ubuntu系统 - 图11
设置用户名和密码。

设置xshell 连接 ubuntu on windows

几个关键步骤
1. 卸载 ssh server

  1. sudo apt-get remove openssh-server
  1. 安装 ssh server
    1. sudo apt-get install openssh-server
  2. 修改 ssh server 配置
    1. sudo vim /etc/ssh/sshd_config
    需要修改以下几项:
    1. Port 36000 #默认的是22,但是windows有自己的ssh服务,也是监听的22端口,所以这里要改一下
    2. UsePrivilegeSeparation no
    3. PasswordAuthentication yes
    4. AllowUsers youusername # 这里改成你登陆WSL用的
  3. 启动 ssh server
    1. sudo service ssh --full-restart
    现在就可以用 xshell 登陆 ubuntu on windows 了,IP 是 127.0.0.1, 但是要注意,cmd 的窗口还不能关掉。关掉后 sshd 服务也会关掉,连接就断开了。

    防火墙设置

  • 开启防火墙ufw enable
  • 关闭防火墙ufw disable
  • 查看防火墙运行状态ufw status
  • 设置默认为禁用 sudo ufw default deny

    打开或关闭某个端口

    1. sudo ufw allow smtp  #允许所有的外部IP访问本机的25/tcp (smtp)端口
    2. sudo ufw allow 22/tcp #允许所有的外部IP访问本机的22/tcp (ssh)端口
    3. sudo ufw allow 53 #允许外部访问53端口(tcp/udp)
    4. sudo ufw allow from 192.168.1.100 #允许此IP访问所有的本机端口
    5. sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
    6. sudo ufw deny smtp #禁止外部访问smtp服务
    7. sudo ufw delete allow smtp #删除上面建立的某条规则

    安装软件

    更新apt-get

    apt-get update

    安装git

    sudo apt-get install git

安装node和nvm

通过nvm安装node:
安装nvmhttps://github.com/nvm-sh/nvm#install—update-script
然后安装nvm的脚本,有两种方法curl或wget:
通过curl:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.4/install.sh | bash
通过wget:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.4/install.sh | bash

安装时出现错误:

Connecting to raw.githubusercontent.com failed: Connection refused.
wget或者curl请求raw.githubusercontent.com这个域名的时候有时候会出现以下问题
image.png
由于某些原因导致GitHub的raw.githubusercontent.com域名解析被污染
解决办法

  • 查询raw.githubusercontent.com的真实IP
    https://www.ipaddress.com/ 查询raw.githubusercontent.com的真实IP。
  • 修改hosts
    在/etc/hosts/中绑定查到的host,例如:
    1. 127.0.0.1 localhost
    2. ::1 localhost ip6-localhost ip6-loopback
    3. fe00::0 ip6-localnet
    4. ff00::0 ip6-mcastprefix
    5. ff02::1 ip6-allnodes
    6. ff02::2 ip6-allrouters
    7. 172.17.0.2 89a4e724bd79
    8. #github start
    9. 185.199.108.133 raw.githubusercontent.com
    10. 185.199.109.133 raw.githubusercontent.com
    11. 185.199.110.133 raw.githubusercontent.com
    12. 185.199.111.133 raw.githubusercontent.com
    检查安装及使用:
    注意,此处需要重启terminal终端才能生效。在ubuntu中执行 source .bashrc,更新系统配置.
    1. nvm --version //打印出版本号,则安装成功

    nvm的使用

    使用nvm install安装某个版本,如nvm install v5.3.0。
    nvm install stable:安装最新的稳定版本node和npm
    使用nvm use切换到某个版本,如nvm use v5.3.0使用5.3.0,nvm use system使用系统版本。

    使用npm安装nrm,切换node版本

    npm install nrm -g

安装pm2

npm install -g pm2
使用pm2启动server,更改package.json文件

  1. "scripts": {
  2. "start": "pm2 start ./webhook.js --name webhook --watch",
  3. "stop": "pm2 stop webhook"
  4. }

安装docker

https://www.runoob.com/docker/ubuntu-docker-install.html

查看网络端口

用netstat -ntlp查看监听端口

kill占用的端口

sudo fuser -k 80/tcp