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用户是没有的