如何将npm http-server注册为Windows服务实现开机自动托管本地文件夹
一、使用NSSM注册http-server服务的配置步骤
执行nssm install httpserver弹出配置窗口后,按以下规则填写:
- Application标签页(核心配置项)
- Path:填写http-server可执行文件的完整绝对路径。可以先在cmd执行
where http-server获取路径,如果你是通过npm全局安装的http-server,路径通常为C:\Users\你的用户名\AppData\Roaming\npm\http-server.cmd,注意要选择后缀为.cmd的文件 - Startup directory:填写你要托管的本地文件夹的绝对路径,比如
D:\project\static-files - Arguments:填写
./即可,和你平时手动执行的启动参数保持一致,如果需要自定义端口可以补充参数,比如./ -p 8090
- Path:填写http-server可执行文件的完整绝对路径。可以先在cmd执行
- 可选配置项
- Log on标签页:选择「本地系统账户」,勾选「允许服务与桌面交互」
- Logging标签页:可以指定服务的输出日志、错误日志存储路径,方便后续排查启动问题
配置完成后点击「Install」按钮即可完成服务注册,之后可以执行nssm start httpserver启动服务,访问默认地址http://localhost:8080验证托管是否生效,服务默认启动类型为自动,重启电脑后会自动运行。
二、不使用NSSM的简便实现方式
- 方法1:开机启动文件夹快捷方式
- 新建一个txt文本,写入启动命令
http-server 你的托管文件夹绝对路径,保存后将后缀改为.bat - 按下
Win+R输入shell:startup回车,打开系统开机启动目录 - 把刚才的bat文件的快捷方式拖入启动目录即可。该方案无需任何额外工具,操作最简单,缺点是必须用户登录系统后才会执行,未登录账户时服务不会启动
- 新建一个txt文本,写入启动命令
- 方法2:Windows自带任务计划程序
- Win键搜索「任务计划程序」打开,点击右侧「创建基本任务」
- 自定义任务名称,触发器选择「计算机启动时」
- 操作选择「启动程序」,程序或脚本填写http-server的完整绝对路径,起始于填写托管文件夹的绝对路径,参数填写
./ - 最后勾选「点击完成后打开此任务属性对话框」,在属性页勾选「不管用户是否登录都要运行」、「使用最高权限运行」,确认后即可生效。该方案无需第三方工具,支持未登录状态下自动启动服务,稳定性优于启动文件夹方案
内容的提问来源于stack exchange,提问作者Borislav Stefanov
相关产品推荐
相关产品推荐

