简单:Windows 自带功能,而且不需要设置网络映射,自动进行了硬盘挂载,真正实现了 Windows 下编辑 Linux 下运行的目的。同时也能解决不少 PHP 扩展在 Windows 下编译困难的问题。
这一步很重要,因为如果不关闭会导致磁盘 IO 下降从而导致编译速度很慢
选择 Ubuntu 版本正常安装就行,5.9 和 6.0 版本都测试过,安装过程没有问题。
常规配置就不再提,主要是把 Web 根目录,Web 备份目录,以及数据库的数据目录修改为 Windows 系统下的相应目录以方便进行编辑和备份。
Linux 的子系统是不支持开机启动脚本的,所以需要利用 vbs 脚本设置好开机自动运行宝塔以及相关的服务
部分页面打开非常慢,修复办法: 打开 nginx 配置文件,在 http 区段添加如下代码然后重启 Nginx 服务( 详细解释)
fastcgi_buffering off;
杀毒软件实时保护功能导致的页面缓慢不流畅
完成上面这些操作以后 LNMP 各项功能已经能够正常使用,但是页面仍然会有卡顿感,原因还是上面提到的实时保护功能会影响到效率(详细解释)。解决办法是把常用进程添加到杀毒软件的例外清单里面,可用下面的 ps1 脚本完成(记得替换自己的用户名以及 package 名)。
$win_user = "pc_user"
$linux_user = "linux_user"
$package = "CanonicalGroupLimited.UbuntuonWindows_acdefkp1fndgsc"
$base_path = "C:\Users\" + $win_user + "\AppData\Local\Packages\" + $package + "\LocalState\rootfs"
$dirs = @("\bin", "\sbin", "\usr\bin", "\usr\sbin", "\www\server")
$dirs | ForEach { Add-MpPreference -ExclusionProcess ($base_path + $_ + "\*") }
Add-MpPreference -ExclusionPath $base_path
差不多断断续续的用了整个周末的时间,才算把这些坑填完了,来回重启了不下 10 次。什么都弄好以后突然觉得:既然环境都弄好了,那就不用着急写代码了,先写个总结吧(手动狗头)。
1
ddup 2018-10-15 01:21:48 +08:00 via Android
是方便,不过 Win 10 不定时不规律出现奇怪 BUG 然后有一天实在受不了重装系统,Over …
建议在 WSL 能单独备份之前,还是用 Docker 或虚拟机吧。 |
2
cdwyd OP |
4
lhx2008 2018-10-15 08:35:33 +08:00 via Android
WSL 的 IO 非常渣,epoll 也不知道怎么转的,所以不太适合这么玩
|
5
artandlol 2018-10-15 08:54:53 +08:00
@beginor docker 下的 volumes 的本质是重用 inode 性能是宿主的性能。docker 的本质就是文件卷 再使用 cgroup namespace 进行隔离
|
7
zhengwhizz 2019-07-01 22:06:08 +08:00
nginx 多站点不起作用,只有 localhost 能访问。hosts 也加了,一直不响应。只有 servername _ 才能访问。。。。
|