使用 Nginx 搭建文件下载服务器

这篇具有很好参考价值的文章主要介绍了使用 Nginx 搭建文件下载服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


  版权声明:本文为CSDN博主「杨群」的原创文章,遵循 CC 4.0 BY-SA版权协议,于2023年8月27日首发于CSDN,转载请附上原文出处链接及本声明。
  原文链接:https://blog.csdn.net/u011046671/article/details/132526618

一、基础环境

  操作系统:microsoft Windows 10 专业版

  nginx 版本:1.25.1

二、适用场景

  使用 nginx 搭建简单的文件下载服务器。

三、方法和步骤

  配置文件如下:

# 工作进程:根据需要进行设置,一般设置为CPU核心数的2倍或直接设置为auto由程序自动调整
worker_processes 1;
events {
    # 每个工作进程的连接数,默认为1024个
    worker_connections 1024;
}
http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    gzip on;
    server {
        listen 80;
        server_name localhost;
        charset utf-8;
        root D:/Xufengsoft; # 文件存放目录

        location / {
            autoindex on; # 启用自动首页功能
            autoindex_format html; # 首页格式为HTML
            autoindex_exact_size on; # 文件大小自动换算
            autoindex_localtime on; # 按照服务器时间显示文件时间
            default_type application/octet-stream;# 将当前目录中所有文件的默认MIME类型设置为
            # application/octet-stream

            if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$) {
                # 当文件格式为上述格式时,将头字段属性Content-Disposition的值设置为"attachment"
                add_header Content-Disposition: 'attachment;';
            }
            sendfile on; # 开启零复制文件传输功能
            sendfile_max_chunk 1m; # 每个sendfile调用的最大传输量为1MB
            tcp_nopush on; # 启用最小传输限制功能
            aio on; # 启用异步传输
            directio 5m; # 当文件大于5MB时以直接读取磁盘的方式读取文件
            directio_alignment 4096; # 与磁盘的文件系统对齐
            output_buffers 4 32k; # 文件输出的缓冲区大小为128KB
            limit_rate 1024m; # 限制下载速度为1MB
            limit_rate_after 1024m; # 当客户端下载速度达到2MB时进入限速模式
            max_ranges 4096; # 客户端执行范围读取的最大值是4096B
            send_timeout 20s; # 客户端引发传输超时时间为20s
            postpone_output 2048; # 当缓冲区的数据达到2048B时再向客户端发送
            chunked_transfer_encoding on; # 启用分块传输标识
        }
    }
}

四、其他说明

  页面有点丑,在 Linux 平台上有美化的方法,在 Windows 平台没有找到美化的方法。

  版权声明:本文为CSDN博主「杨群」的原创文章,遵循CC 4.0 BY-SA版权协议,于2023年8月27日首发于CSDN,转载请附上原文出处链接及本声明。
  原文链接:https://blog.csdn.net/u011046671/article/details/132526618文章来源地址https://www.toymoban.com/news/detail-736039.html

到了这里,关于使用 Nginx 搭建文件下载服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 纯nginx制作文件上传下载服务器

    webdav 是一组超文本传输协议的技术集合,有利于用户键协同编辑和管理存储在万维网服务器文档。同时来说就是,webdav可以让用户直接存储,下载,编辑文件,操作文件需要进行用户认证 需要的环境 linux上需要下载git(用来拉取镜像) nginx版本为:nginx-1.22.0.tar.gz 至此,需要

    2024年02月15日
    浏览(53)
  • Nginx http 文件服务器 中文名称文件乱码以及不能访问下载问题 (解决全过程)...

    书接上文: 在Windows 环境下使用 Nginx 搭建 HTTP文件服务器 实现文件下载 全步骤(详细) 发现的中文乱码问题,终于自己解决了! ^_^ 问题起因: 首先是发现放在 Nginx 共享文件夹下的中文文件会出现乱码问题 初步解决办法: 检查 conf 下 nginx.conf 配置文件中的 charset 编码问题 发

    2024年02月11日
    浏览(51)
  • 三分钟用Golang搭建一个HTTP文件上传下载服务器

    简单需要一个文件服务器来传递数据,只要两个功能,一个上传接口,一个下载接口。 选用go http模块实现,比nginx、ftp等更方便快捷。 上传接口\\\"/v1/file_upload/\\\" 上传接口增加简单BasicAuth鉴权 上传成功返回下载URL json格式返回 只想文件上传服务器测试接口,以下电梯直达即可

    2024年02月11日
    浏览(65)
  • [Python http.server] 搭建http服务器用于下载/上传文件

    动机: 笔者需测试bs架构下的文件上传与下载性能,故想通过Python搭建http服务器并实现客户端与服务器之间的文件上传和下载需求 难点: 这应该是很基础的东西,不过笔者之前未接触过http编程,谨在此记录下学习的过程,可能不是最优解 方法: 在服务器端部署html页面,并

    2024年02月11日
    浏览(42)
  • 在Linux系统(服务器)使用阿里云盘服务快速上传下载文件

    使用集群服务器的时候,尤其是当服务器有多个节点时有些复杂,连接集群我们一般用xshell,传输文件我们一般使用Xftp,一般对于单个节点服务器来说是方便的,使用Xftp还可以可视化本地和服务器端的文件,但当有多个节点时,这就不适用了,他不能选择节点,有局限,连接

    2024年02月04日
    浏览(48)
  • huggingface学习 | 云服务器使用git-lfs下载huggingface上的模型文件

    huggingface官网链接:https://huggingface.co/ 以stable-diffusion-inpant为例:模型链接为stable-diffusion-inpant 点击clone repository,可以发现提供了两种下载方式,方式一为HTTPS,代码如下,然而国内使用代理访问的时候采用这种方式会报错:Failed to connect to huggingface.co port 443 after 127293 ms: Cou

    2024年01月19日
    浏览(107)
  • 使用puppeteer完成监听浏览器下载文件并保存到自己本地或服务器上完成上传功能

    获取网站点击的下载pdf,并把pdf重命名再上传到COS云上面 “puppeteer”: “^19.7.2”, “egg”: “^3.15.0”, // 服务期用egg搭的 文件服务使用COS腾讯云 获取浏览器下载事件,并把文件保存到本地 在保存到本地前监听此文件夹,如果有文件则获取并上传 加timer做防抖是为了防止在文

    2024年04月15日
    浏览(35)
  • Java 中,使用 HttpServletResponse 对象将服务器上的文件响应到客户端浏览器进行下载

    在服务器端,使用 FileInputStream 打开要下载的文件,并将其读取到字节数组中。 2.设置 HttpServletResponse 的响应头信息,告诉浏览器需要下载文件,并指定文件名和文件类型 其中,Content-Type 表示响应内容的类型,这里设置为 application/octet-stream,表示二进制流。Content-Length 表示

    2024年02月13日
    浏览(66)
  • Centos服务器如何下载文件?

    我们如果要下载文件到Centos服务器中,如何下载呢?今天飞飞和你分享通过wget命令来实现下载文件。服务器大本营,技术文章内容集合站发车啦! 首先查看CentOS7 系统有没有安装wget: 如果安装了会提示当前安装的版本: 没安装的话可以通过以下命令安装: 下载文件的命令

    2024年02月16日
    浏览(38)
  • MobaXterm上传下载文件、文件夹到服务器上

      首先通过SSH与服务器建立连接,不懂的可查阅相关资料,CSDN里有很多介绍。 1、上传下载文件 可以在命令输入窗口,无需输入命令,按ctrl单击的同时鼠标右键出现以下左图,选择receive file using Z-modem或者send file using Z-modem来上传或者下载文件。 也可以通过mobaxterm左侧的导

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包