nginx搭建静态文件下载服务器
配置文件大致内容
server {
# 监听8001端口
listen 8001;
server_name 192.168.0.2;
# 指定使用utf8的编码
charset utf-8;
# 内容根目录
root /home/data/download;
location / {
# 自动创建目录文件列表为首页
autoindex on;
# 自动首页的格式为html
autoindex_format html;
# 关闭文件大小转换
autoindex_exact_size off;
# 按照服务器时间显示文件时间
autoindex_localtime on;
default_type application/octet-stream;
# 开启零复制。默认配置中,文件会先到nginx缓冲区,开启零复制后,文件跳过缓冲区,可以加快文件传输速度。
sendfile on;
# 限制零复制过程中每个连接的最大传输量
sendfile_max_chunk 1m;
# tcp_nopush与零复制配合使用,当数据包大于最大报文长度时才执行网络发送操作,从而提升网络利用率。
tcp_nopush on;
# 启用异步IO,需要配合direcio使用
aio on;
# 大于10MB的文件会采用直接IO的当时进行缓冲读取
directio 10m;
# 对齐文件系统块大小4096
directio_alignment 4096;
# 启用分块传输标识
chunked_transfer_encoding on;
# 文件输出的缓冲区大小为128KB
output_buffers 4 32k;
}
}
附注
- 异步文件传输是通过直接读取硬盘文件的方式来实现的,对大文件的传输速度有明显提升,但对于小文件,更适合使用零复制。
- 如果基于Windows平台,大部分参数都用不了。字符集需要加上
gbk
,且目录名不能有中文(也可以修改Windows系统强制使用utf-8字符集) - 个人一般放在局域网下给同事们下载一些常用的东西,省了配置共享文件夹,而且跨系统平台,Linux或MacOS或手机,有浏览器就能下载文件。
- 注意开放端口。
- 安全起见,最好做一下nginx的IP访问控制。
本文来自博客园,作者:花酒锄作田,转载请注明原文链接:https://www.cnblogs.com/XY-Heruo/p/14708905.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)