ZJWeb 高性能静态文件服务器 使用说明书

基于Rust开发 | 高性能 | 高并发 | 易配置 | 跨平台

快速导航

1. 软件介绍 by 台州静哥哥 qq:15270506

>>>>>>>>>>免费下载

1.1 软件概述

ZJWeb(执行文件:zjweb.exe)是一款基于Rust语言开发的高性能静态文件服务器,专为快速、稳定地提供静态文件访问服务而设计。相比传统的Python/Node.js服务器,ZJWeb具有以下核心优势:

  • 极致性能:基于Rust语言的内存安全特性和异步I/O模型,处理速度快,资源占用低
  • 高并发处理:内置高并发阈值控制和延迟处理机制,支持数千并发连接
  • 灵活配置:通过配置文件自定义监听端口、目录映射、超时时间等参数
  • 完善的监控:内置实时性能统计页面,可查看连接数、响应时间、流量等指标
  • 安全可靠:内置路径遍历防护,支持大文件流式传输
  • 易用性强:无需复杂部署,单文件运行,自动识别配置文件

1.2 核心功能

功能模块 详细说明
静态文件服务 支持HTML、CSS、JS、图片、视频等所有静态文件类型,自动识别MIME类型
多目录映射 可将不同的URL路径映射到本地不同的物理目录
目录浏览 自动生成美观的目录列表,支持中文文件名,URL编码处理
性能监控 实时查看并发连接数、响应时间、流量统计等关键指标
高并发控制 可配置高并发阈值,自动延迟处理新连接,保护服务器稳定
长连接支持 支持HTTP长连接测试,可配置全局超时时间
安全防护 防止路径遍历攻击,限制最大文件大小

2. 安装与运行

2.1 系统要求

  • 操作系统:Windows 7/8/10/11 (32/64位)、Linux、macOS
  • 硬件要求:最低1GB内存,无特殊CPU要求
  • 网络要求:确保监听端口未被占用(默认为8080)

2.2 安装步骤

  1. 下载 zjweb.exe 执行文件
  2. 将文件放置在任意目录(建议单独创建文件夹,如 D:\zjweb)
  3. (可选)创建配置文件 zj.ini (详见配置文件章节)
  4. (可选)创建静态文件目录(如 www、static、public)

2.3 运行方法

方法一:双击运行(简单模式)

直接双击 zjweb.exe 文件,程序会自动:

  • 使用默认配置运行
  • 监听 0.0.0.0:8080 端口
  • 默认映射:
    • / → ./www 目录
    • /static → ./static 目录
    • /public → ./public 目录

方法二:命令行运行(推荐)

:: 打开命令提示符(CMD)或PowerShell
cd /d D:\zjweb
zjweb.exe
提示:使用命令行运行可以看到详细的运行日志,方便排查问题。按 Ctrl+C 可优雅关闭服务器,查看运行统计信息。

2.4 验证运行

服务器启动成功后,打开浏览器访问以下地址验证:

  • 首页:http://localhost:8080
  • 统计页面:http://localhost:8080/zjtj
  • 测试页面:http://localhost:8080/ok
成功标志:控制台显示"启动成功",浏览器能正常访问上述地址。

3. 基本使用方法

3.1 文件部署

将静态文件放置到对应的目录中即可访问:

  • 根目录文件(如 index.html)放在 ./www 目录
  • 静态资源(CSS/JS/图片)放在 ./static 目录
  • 公共文件放在 ./public 目录

3.2 访问文件

本地文件路径 访问URL
./www/index.html http://localhost:8080/ 或 http://localhost:8080/index.html
./www/about.html http://localhost:8080/about.html
./static/css/style.css http://localhost:8080/static/css/style.css
./public/images/photo.jpg http://localhost:8080/public/images/photo.jpg

3.3 查看服务器状态

访问 http://localhost:8080/zjtj 可查看详细的服务器状态:

  • 服务器配置信息
  • 当前并发连接数
  • 最大并发数及时间
  • 平均响应时间
  • 总请求数、长/短连接数
  • 已发送流量统计

3.4 测试服务器

  • 基础测试:访问 http://localhost:8080/ok ,返回 "OK" 表示服务器正常
  • 长连接测试:访问 http://localhost:8080/long-test ,测试长连接功能

4. 配置文件详解

4.1 配置文件基础

ZJWeb 使用 zj.ini 作为配置文件,位于程序同目录下。如果配置文件不存在,程序会使用默认配置运行。

提示:配置文件采用 INI 格式,使用分号(;)或井号(#)添加注释,支持字符串值的引号包裹。

4.2 配置文件结构

[server] ; 服务器基本配置 name = "ZJWeb 高性能服务器" host = "0.0.0.0" port = 8080 global_timeout = 300 high_concurrent_threshold = 1000 high_concurrent_delay_ms = 100 max_file_size_gb = 10 [static_dirs] ; 静态目录映射配置 / = "./www" /static = "./static" /public = "./public" /admin = "D:/web/admin"

4.3 [server] 节配置项详解

配置项 默认值 说明
name Rust TCP Server 服务器名称,显示在网页标题和统计页面
host 0.0.0.0 监听地址,0.0.0.0 表示监听所有网卡
port 8080 监听端口,需确保端口未被占用
global_timeout 300 全局超时时间(秒),长连接超过此时长自动关闭
high_concurrent_threshold 1000 高并发阈值,连接数超过此值触发延迟处理
high_concurrent_delay_ms 100 高并发时的延迟时间(毫秒)
max_file_size_mb - 最大文件大小(MB),与max_file_size_gb二选一
max_file_size_gb 10 最大文件大小(GB),优先级高于MB配置
注意:端口配置需要确保权限足够,1-1024端口在Linux/macOS下需要管理员权限,建议使用1024以上端口。

5. 目录映射配置

5.1 映射规则

[static_dirs] 节用于配置URL路径到本地目录的映射,规则如下:

  • 键:URL路径(必须以 / 开头)
  • 值:本地物理路径(支持相对路径和绝对路径)
  • 相对路径基于程序运行目录
  • 支持Windows和Linux路径格式

5.2 映射示例

[static_dirs] ; 根目录映射到当前目录下的www文件夹 / = "./www" ; /static URL映射到当前目录下的static文件夹 /static = "./static" ; /public URL映射到D盘的public文件夹(绝对路径) /public = "D:/web/public" ; /docs URL映射到Linux路径 ;/docs = "/var/www/docs"

5.3 高级映射技巧

  1. 多级目录映射
    /blog = "./my_blog"
    /blog/images = "./blog_images"
  2. 绝对路径映射:适合文件不在程序目录的情况
    /data = "E:/data_files"
    /backup = "F:/backup/web_files"
  3. 网络路径:暂不支持直接映射网络路径,建议先挂载为本地磁盘
提示:程序会自动检查目录是否存在,不存在的目录会在控制台给出警告,但不会影响服务器运行。

6. Web功能说明

6.1 自动索引页

访问目录时,服务器会自动查找以下默认索引文件:

  1. index.html
  2. index.htm
  3. default.html

如果未找到索引文件,会自动生成美观的目录列表页面。

6.2 目录浏览功能

目录列表页面特性:

  • 支持中文文件名显示和URL编码
  • 显示文件大小(自动转换单位:B/KB/MB/GB)
  • 区分文件和目录类型
  • 提供上级目录链接
  • 显示其他静态目录的快速链接
  • 响应式设计,适配移动端

6.3 性能统计页面 (/zjtj)

访问 http://localhost:8080/zjtj 可查看:

  • 服务器基本配置信息
  • 静态目录配置状态
  • 实时性能指标:
    • 当前并发数、最大并发数
    • 并发负载百分比和等级
    • 平均响应时间
    • 总发送流量
  • 请求统计:
    • 总连接数、当前在线数
    • 总请求数、长/短连接数
    • 静态文件请求数
  • 快速访问链接

6.4 错误页面

服务器提供友好的错误页面:

  • 404 Not Found:文件/路径不存在
  • 403 Forbidden:文件过大或权限问题
  • 500 Internal Server Error:服务器内部错误

7. 性能优化

7.1 并发优化

  • 调整高并发阈值:根据服务器配置调整 high_concurrent_threshold,建议值:
    • 低配服务器:500-1000
    • 中配服务器:1000-2000
    • 高配服务器:2000-5000
  • 延迟时间调整:高并发延迟时间建议 50-200ms
  • 超时时间:根据业务需求调整 global_timeout,建议 120-600 秒

7.2 文件服务优化

  • 文件大小限制:根据服务器磁盘和带宽调整 max_file_size
  • 目录结构:合理组织文件目录,避免单目录文件过多
  • 缓存设置:服务器已内置缓存控制头,无需额外配置

7.3 部署优化

  1. 将程序放在SSD磁盘上运行
  2. 确保服务器有足够的内存(建议2GB以上)
  3. 关闭不必要的后台程序,释放资源
  4. 在生产环境中使用命令行运行,避免GUI界面
  5. 考虑使用反向代理(如Nginx)前置,提供SSL和负载均衡

8. 常见问题解答

Q1: 启动程序后无法访问?

A1: 请检查:

  1. 端口是否被占用(可修改port配置项)
  2. 防火墙是否允许程序访问网络
  3. 监听地址是否配置正确(建议使用0.0.0.0)
  4. 浏览器地址是否正确(http://localhost:端口号)

Q2: 中文文件名显示乱码?

A2: 程序已内置URL编码/解码处理,确保:

  • 配置文件使用UTF-8编码保存
  • 文件名使用合法的UTF-8字符
  • 浏览器使用最新版本

Q3: 大文件无法下载?

A3: 检查 max_file_size_gb/max_file_size_mb 配置项,确保值大于文件大小。程序支持最大10GB文件(默认配置)。

Q4: 配置文件修改后不生效?

A4: 配置文件需要重启服务器才能生效。修改 zj.ini 后,请关闭程序重新运行。

Q5: 如何设置开机自启?

A5: Windows系统:

  1. 创建程序快捷方式
  2. 将快捷方式复制到 开始菜单 → 程序 → 启动 目录
  3. 或使用任务计划程序创建定时任务

Q6: 如何在后台运行?

A6: Windows系统可使用:

start /b zjweb.exe > server.log 2>&1

Linux/macOS系统可使用:

nohup ./zjweb > server.log 2>&1 &

Q7: 支持HTTPS吗?

A7: 当前版本暂不直接支持HTTPS,建议使用Nginx/Caddy等反向代理软件提供HTTPS支持。

9. 技术支持

开发者:台州静哥哥

  • QQ:15270506
  • 网站:www.5a8.com
反馈建议:使用过程中遇到问题或有功能建议,欢迎联系开发者反馈。