当前位置: 首页 > news >正文

搭建基于Windows平台的http文件服务(miniserve+filebrowser+nssm)

前言:

本文的主要目的是,在windows环境下,使用miniserve对外分享文件,使用浏览器http协议下载,用作单方向文件分享。filebrowser用来管理上传/删除文件,filebrowser支持超大文件上传不中断!如果是使用RDP远程连接windows server服务器,复制粘贴上传文件,超大文件无法上传成功!

------------------------------------------------------------

1.下载windows server 2016 (ed2k迅雷下载)

ed2k://|file|cn_windows_server_2016_x64_dvd_9718765.iso|6176450560|CF1B73D220F1160DE850D9E1979DBD50|/

2.下载miniserve (windows版本)

https://github.com/svenstaro/miniserve/releases

3.下载NSSM

https://nssm.cc/download

4.下载FileBrower (windows版)

https://github.com/filebrowser/filebrowser/releases

---------------------------------------------------------

5.先安装一个windows server 2016的操作系统

不会的可以参考下面的教程(镜像换成windo server 2016就行)

windows10/win11系统安装-官方原版镜像-使用微PE工具箱

Windows11全新系统U盘安装(win7/win8/win10)细节

安装选择 “Windows server 2016 Standard”版本

为减少后续不必要的测试麻烦

安装成功后,先关闭防火墙:

控制面板-防火墙

-------------------------------------------------------------------

6.在C盘新建一个“my-services”的文件夹

进入my-services文件夹

新建三个文件夹,分别为:

然后把刚刚下载好的文件重新命名-解压缩后,再分别复制到C:\my-services 对应的文件夹,如下图

------------------------------------------------------

7.进入C:\my-services\miniserve

先用管理员身份运行测试一下miniserve.exe

验证下载的miniserve.exe可以修改参数以80端口运行

然后点击路径空白处,如下图操作

右键也可能是"在此处打开Poweshell窗口"

这时候需要手动添加“从此处打开命令提示符”右键菜单方式

如不想手动添加注册表,以下为可直接双击导入的 open_cmd.reg 文件:

(复制到文本编辑器另存为open_cmd.reg,然后双击open_cmd.reg导入)

1
2
3
4
5
6
7
8
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd_shell]
@="打开命令提示符"
"Icon"="C:\\Windows\\System32\\cmd.exe"[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd_shell\command]
@="cmd.exe /s /k pushd \"%V\""

再输入如下命令:

miniserve.exe --port 80

回车(Enter)

访问测试一下,打开 http://127.0.0.1

可以看到miniserve默认

以miniserve.exe所在路径默认作为http文件服务器路径

可以使用参数修改miniserve 指定路径(D:\httpminiserve)

输入如下命令:

miniserve.exe --port 80 D:\httpminiserve

回车(Enter键)

miniserve默认路径修改成功,如下图

9.进入nssm文件夹

(使用nssm对miniserve.exe生成一个miniserve服务)

C:\my-services\nssm\nssm\nssm-2.24\win64

输入如下命令:

nssm.exe install

回车(Enter键)

Path:   C:\my-services\miniserve\miniserve.exe

Startup directory:   C:\my-services\miniserve

Arguments:  --port 80 D:\httpminiserve

Service name:  miniserve

然后点击  “Install service”

检查一次miniserve是否安装到了电脑,如下图

为确认minierve服务是否开机自动启动

重启一次电脑,打开浏览器访问 http://127.0.0.1测试一次

默认80端口,路径默认是D盘的httpserve路径

miniserve服务安装测试成功!!!

---------------------------------------------------------------------------

10.生成filebrowser服务

同样的,进入filebrowser所在路径,双击打开filebrowser.exe

filebrowser登录成功后,

可以看到filebrowser默认路径为程序所在路径

这里可以在图形界面直接修改filebrowser默认语言和登录密码

本文所述内容,需要借助filebrowser,管理上传/删除D:\httpminiserve路径里的文件内容,要使用命令行工具进行操作

接下来在命令行里,修改filebrowser默认路径

进入filebrowser所在的目录

C:\my-services\FileBrowser\FileBrowser

点击空白处,再如下图操作

运行以下命令

filebrowser config set --root D:\httpminiserve

回车(Enter键)

登录 http://127.0.0.1:8080检查对比下,如下图

filebrowser默认路径修改成功!

(如果是以服务的方式正在运行filebrowser,必须先停止filebrowser服务,然后再修改filebrowser默认路径,再启动filebrowser服务,才能生效)

正在运行filebrowser服务,直接修改默认路径,会出现下图这样:

----------------------------------------------------------------------

使用nssm对filebrowser生成服务,

使得filebrowser开机自动启动

进入nssm所在路径,空白处 shift+右键 “打开命令提示符”

命令提示符内输入: 

nssm.exe install 

回车(Enter键)

Path:    C:\my-services\FileBrowser\FileBrowser\filebrowser.exe

Startup directory:  C:\my-services\FileBrowser\FileBrowser

Arguments:  留空不填

Service name:  filebrowser

再点击 “Install service”按钮,检查一下filebrowser服务是否安装好

再重启测试一次,filebrowser服务是不是能开机自动运行

运行正常!!!!!!!!!!!!!!

-----------------------------------------------------------------

本文的主要目的是,使用miniserve对外分享文件,使用浏览器http协议下载,用作单方向文件分享。filebrowser用来管理上传/删除文件,filebrowser支持超大文件上传不中断!如果是使用RDP远程连接windows server服务器上传文件,超大文件无法复制上传成功!

miniserver和filebrowser还有更多使用细节

相关文章:

  • Datawhale PyPOTS时间序列5月第3次笔记
  • 湖北理元理律师事务所:债务优化中的双维支持实践解析
  • 一分钟用 MCP 上线一个 贪吃蛇 小游戏(CodeBuddy版)
  • java中的运算符
  • 多线程(4)——线程安全,锁
  • 数学复习笔记 16
  • 在 Linux 上安装 MATLAB:完整指南与疑难解决方案
  • 交流学习 | 江西同为科技有限公司赴海尔总部考察交流
  • Spring源码之解决循环依赖 三级缓存
  • Python二进制运算:高效操作与实用技巧
  • OpenHarmony外设驱动使用 (二),Camera
  • [ctfshow web入门] web118
  • hysAnalyser 从MPEG-TS导出ES功能说明
  • Leaflet使用SVG创建动态Legend
  • wifiactivity 界面 要在哪里注册,注销广播?onResume() vs onPause() 的本质区别
  • 安装nerdctl和buildkitd脚本命令
  • LLM智能体新纪元:深入解析MCP与A2A协议,赋能智能自动化协作
  • stack和queue简单模拟实现
  • Linux面试题集合(3)
  • 【typenum】 9 与常量泛型桥接(generic_const_mappings.rs)
  • 朝鲜称将在各领域采取反制措施,应对美国敌对挑衅
  • 长三角体育节回归“上海时间”,首次发布赛事旅游推荐线路
  • 著名心血管病学专家李国庆教授逝世,享年63岁
  • 泽连斯基与埃尔多安会面,称已决定派遣代表团前往伊斯坦布尔
  • 张汝伦:康德和种族主义
  • 中央军委决定调整组建3所军队院校