刚开始使用WSL方式进行开发,记录一下开发环境自启动方式
创建启动脚本:
进入任意 WSL 发行版中,创建并编辑文件:/etc/init.wsl
#! /bin/sh
/etc/init.d/nginx $1
/etc/init.d/mysql $1
/etc/init.d/php7.4-fpm $1
/etc/init.d/redis-server $1
/etc/init.d/supervisor $1
里面调用了我们希望启动的三个服务的启动脚本,设置权限为可执行,所有者为 root,这时候可以通过:
sudo /etc/init.wsl [start|stop|restart]
来启停我们需要的服务,在 Windows 中,开始-运行,输入:
shell:startup
按照你 WSL 使用的 Linux 发行版创建启动脚本,比如我创建的 Ubuntu2204.vbs 文件:
Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d Ubuntu-22.04 -u root /etc/init.wsl start", vbhide
这个脚本就会在你登陆的时候自动在名字为 “Ubuntu-22.04” 的 wsl 发行版中执行 /etc/init.wsl 启动我们的服务了,如果你用的是 debian 的发行版,那么修改上面脚本里的 Ubuntu22.04 为 debian :
Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d debian -u root /etc/init.wsl start", vbhide
而如果你不知道自己的 WSL 发行版叫做什么名字,可以用 “wsl -l” 来查看。不管你用最初的 bash (ubuntu 16.04) 还是商店里下载的 debian/ubuntu1804 都能顺利启动服务了。
WSL 中有很多有用的服务,你可以按需删改 /etc/init.wsl ,但没必要塞很多东西进去影响你的启动速度。