【2022】Windows 11/10开机自启动 WSL下的服务

这篇博客总结了如何在Windows Subsystem for Linux (WSL)中设置服务自启动。作者通过创建一个名为'init.wsl'的脚本,包含启动Nginx和Supervisor服务的命令,并在Windows的启动文件夹创建一个VBS脚本来调用这个WSL脚本。经过测试和排查,最终成功实现了WSL服务的自动启动。适合对WSL和Linux服务管理感兴趣的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在使用wsl部署服务,看了不少wsl自启动的帖子,在这里总结一下。

大概思路:通过运行windows中的启动脚本,来启动wsl内的脚本,从而启动服务。

总结:在写完脚本后前面几次测试服务没有正常启动,通过一步一步排查发现是启动命令写错了。如果有问题,建议按测试步骤一步一步排查

不同系统带来的问题不一样,最后附有博主电脑配置,可供参考

参考链接:

WSL 服务自动启动的正确方法 - 知乎 (zhihu.com)

 在wsl中进行如下操作:

#创建启动脚本 “init.wsl”,填写启动服务的命令

vim /etc/init.wsl       
#! /bin/bash 
#以下根据需要自行更改
sudo service nginx start
sudo service supervisor start

#设置运行权限

sudo chmod +x /etc/init.wsl

#检查是否可以运行

sudo /etc/init.wsl [start|stop|restart]

会有服务启动成功的提示信息

 window操作如下:

# 转到“启动”文件夹 //Windows“启动”文件夹介绍,点这里

Win+r   >shell:startup

//用户启动文件夹即可

#创建启动脚本,右键新建 linux-start.vbs文件

>./linux-start.vbs

Msgbox "hello" #弹窗消息,可不加

Set ws = CreateObject("Wscript.Shell")

ws.run "wsl -d Ubuntu -u root /etc/init.wsl start", vbhide

// Ubuntu 是 wsl 发行版的名字,可以通过“wsl -l”查看,按需修改。win10的1809 使用“wslconfig/l” 查看版本

#测试是否成功运行

cmd:

>wsl -d Ubuntu -u root /etc/init.wsl start
#测试命令是否正确,如果正确显示以下内容

< * Starting nginx nginx                                                           [ OK ]

Starting supervisor:

>wscript //e:vbscript linux-start.vbs
#测试vbs脚本是否能正常运行

查看网页服务是否正常访问

电脑配置:

硬件:

        CPU   11th Gen Intel(R) Core(TM) i7-1165G7

        版本        Windows 11 家庭中文版

        版本        21H2

        操作系统版本        22000.675

软件:通过“wsl -v”查看

        WSL 版本: 0.58.3.0

        内核版本: 5.10.102.1

        WSLg 版本: 1.0.33

        MSRDC 版本: 1.2.2924

        Direct3D 版本: 1.601.0

        Windows 版本: 10.0.22000.675

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值