WSL“完美”安装 LNMP 环境(宝塔面板) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
cdwyd
V2EX    程序员

WSL“完美”安装 LNMP 环境(宝塔面板)

  •  
  •   cdwyd 2018-10-15 00:01:11 +08:00 6257 次点击
    这是一个创建于 2632 天前的主题,其中的信息可能已经有所发展或是发生改变。

    WSL"完美"安装 LNMP 环境(宝塔面板)

    优点

    简单:Windows 自带功能,而且不需要设置网络映射,自动进行了硬盘挂载,真正实现了 Windows 下编辑 Linux 下运行的目的。同时也能解决不少 PHP 扩展在 Windows 下编译困难的问题。

    步骤

    安装 Ubuntu

    • 在开启或关闭 Windows 功能那勾选:适用于 Linux 系统的 Windows 子系统
    • 应用商店搜索 Ubuntu 点击获取并安装
    • 启动安装后的 Ubuntu 系统并按照提示设置用户名密码

    关闭杀毒软件的“实时保护”功能

    这一步很重要,因为如果不关闭会导致磁盘 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 次。什么都弄好以后突然觉得:既然环境都弄好了,那就不用着急写代码了,先写个总结吧(手动狗头)。

    7 条回复    2019-07-01 22:06:08 +08:00
    ddup
        1
    ddup  
       2018-10-15 01:21:48 +08:00 via Android
    是方便,不过 Win 10 不定时不规律出现奇怪 BUG 然后有一天实在受不了重装系统,Over …
    建议在 WSL 能单独备份之前,还是用 Docker 或虚拟机吧。
    cdwyd
        2
    cdwyd  
    OP
       2018-10-15 01:32:20 +08:00
    @ddup
    win10 一直用全新安装版本还没出过莫名其妙的问题,可能和我用的硬件都是比较常规的主流厂家有关系。

    另外 网站文件 和 数据库文件并没有保存在 wsl 里面,在宿主机的硬盘上。
    beginor
        3
    beginor  
       2018-10-15 07:48:10 +08:00 via Android
    @ddup docker 下磁盘性能也不怎么样, 特别是在使用卷 volumes 的情况下。
    lhx2008
        4
    lhx2008  
       2018-10-15 08:35:33 +08:00 via Android
    WSL 的 IO 非常渣,epoll 也不知道怎么转的,所以不太适合这么玩
    artandlol
        5
    artandlol  
       2018-10-15 08:54:53 +08:00
    @beginor docker 下的 volumes 的本质是重用 inode 性能是宿主的性能。docker 的本质就是文件卷 再使用 cgroup namespace 进行隔离
    cdwyd
        6
    cdwyd  
    OP
       2018-10-15 10:29:07 +08:00 via Android
    @lhx2008 关掉实时防护后性能还是可以的
    zhengwhizz
        7
    zhengwhizz  
       2019-07-01 22:06:08 +08:00
    nginx 多站点不起作用,只有 localhost 能访问。hosts 也加了,一直不响应。只有 servername _ 才能访问。。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5357 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 44ms UTC 07:59 PVG 15:59 LAX 23:59 JFK 02:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86