Windows系统安装Linux子系统

微软推出的 Windows Subsystem for Linux(以下简称 WSL)实现了一机双系统的模式,极大地方便了我们的操作,提高了效率。

安装

1.首先搜索 Windows功能 把下方功能打开(Hyper-V和适用于Linux的Windows子系统)

2.打开之后会提示重启系统,直接重启就好了

3.在微软商店搜索Ubuntu安装(还有其他的Linux系统可自行选择,目前CentOS还未上架)

4.打开Ubuntu按照提示进入系统就可以了 很简单 到此就安装好了

知识

Linux系统的根目录:\\wsl.localhost\Ubuntu-20.04(虚拟机名称)

Linux系统里面是可以跟Windows目录共享的,例如:mnt/c 就是C盘  直接在Linux系统里面直接df查看目录就知道了

Windows系统里面安装了宝塔Linux面板进行本地开发测试 还是很方便的(由于需要Linux系统下特有的PHP-FPM模式,发现实在太方便了,这波给微软点个!)

CMD命令行中 运行 wsl 命令 可以快速运行Linux命令 或 wsl 可以快速进入到Linux系统

CMD命令行中查看所有正在运行的WSL发行版wsl --list --verbose

开关机Linux系统

输入以下命令以关闭指定系统

wsl -t NAME (NAME输入名称例如:Ubuntu-20.04)

输入以下命令以关闭所有系统及虚拟机引擎

wsl --shutdown

开机的话 直接打开即可

Ubuntu系统 root权限 sudo 命令  关闭每次都需要输入密码

打开/etc/sudoers 加上用户名 ALL=(ALL) NOPASSWD:ALL

WSL2查看IP地址命令

查看当前IP地址(WSL2每次重启都会重置新的IP地址)

ip a | grep "global eth0"

查看WSL内访问Windows主机的IP地址(如果ping不通,需要关闭防火墙或设置防火墙规则允许)

cat /etc/resolv.conf


宝塔专区

宝塔面板快速开启关闭Web

开启Web服务.bat
wsl sudo bt 3
wsl sudo /etc/init.d/httpd start
wsl sudo /etc/init.d/mysqld start
wsl sudo /etc/init.d/php-fpm-80 start
关闭Web服务.bat
wsl sudo bt 2
wsl sudo /etc/init.d/httpd stop
wsl sudo /etc/init.d/mysqld stop
wsl sudo /etc/init.d/php-fpm-80 stop

PHP版本多的话可在面板里面手动开启关闭 然后在安全里面,面板操作日志可以查看命令 复制输入上去即可

推荐使用Apache,Nginx在测试的时候经常假死

Apache端口问题解决

开启Apache后发下访问127.0.0.1显示拒绝连接。

Listen 80  注释掉,Listen 0.0.0.0:80 取消注释即可。

https则再加一条 Listen 0.0.0.0:443  即可。

PHP权限问题解决

在使用PHP的时候,由于代码存放目录是在win目录盘的,要对文件一些修改等,例如使用touch函数发现没有权限。

把PHP用户和组改成Linux系统用户名一样的即可,我的显示的用户和租是创建Linux系统的用户名,找到PHP-FPM配置文件把www(这里是宝塔安装的默认用户和组)改为Linux系统用户名一样的即可。

Linux系统用户名具有修改win目录盘的权限,宝塔的www用户是没有的

THE END