• 请不要在回答技术问题时复制粘贴 AI 生成的内容
axwz88
V2EX  ›  程序员

小白提问,怎样搭建一个用于下载的服务器?

  •  
  •   axwz88 · May 19, 2022 via Android · 4851 views
    This topic created in 1629 days ago, the information mentioned may be changed or developed.

    今天早上用 tomcat 搭建,映射虚拟路径,绑定,解析域名,可以实现文件下载了,但是在浏览器测试多个请求下载的时候经常下载到中间就报网络错误,下载直接失败了,是 tomcat 续传不好的原因,还是浏览器的原因,有办法解决这个问题吗?

    20 replies  •  2022-05-20 04:32:57 +08:00
    0d
    0d
    May 19, 2022 via Android
    1
    搭建 HFS ( http file server)的话,有许多办法。不太清楚具体的需求,简单点就用`python -m http.server`
    ryc111
    ryc111
    May 19, 2022
    2
    安装 nginx:

    使用配置:
    server {
    listen 80;
    server_name 10.1.2.3; # 自己 PC 的 ip 或者域名如下:
    # server_name *.example.org;

    charset utf-8;
    root /home/xx/share; # 存放文件的目录
    location / {
    autoindex on; # 索引
    autoindex_exact_size on; # 显示文件大小
    # autoindex_localtime on; # 显示文件时间
    }
    }
    重启服务
    seers
    seers
    May 19, 2022 via Android
    3
    换 transmission+aria2c ,然后用 Nginx 搞个 autoindex 浏览
    KomiSans
    KomiSans
    May 19, 2022
    4
    可以试试 apache httpd 和 nginx 搭配做下载页面
    LeegoYih
    LeegoYih
    May 19, 2022
    5
    我个人用 minio ,公司用 Amazon S3 、阿里云 OSS 之类的
    ikidou
    ikidou
    May 19, 2022
    6
    直接 caddy 吧,自动 HTTPS ,配置文件也简单
    xinJang
    xinJang
    May 19, 2022
    7
    几十块买个玩客云不香吗?
    xinJang
    xinJang
    May 19, 2022
    8
    好吧 我的错 没看内容 只看了标题 忽略我的回复
    lingo
    lingo
    May 19, 2022
    9
    我是家里内网的 aria2+samba 。
    如果是外网的话,我会选择 aria2+caddy 。caddy 静态访问加个密码。简简单单。
    libook
    libook
    May 19, 2022
    10
    临时用就是 Python 起个 http 模块,一条指令的事;
    长期用装个 Ngingx ,配置个 root 开个 autoindex 就完事了。
    feitxue
    feitxue
    May 19, 2022
    11
    你描述的细节过少,不好判断原因.
    非 java 项目,我个人不建议上 tomcat 容器来搞静态内容.
    cjpjxjx
    cjpjxjx
    May 19, 2022
    12
    目录浏览?
    geekvcn
    geekvcn
    May 19, 2022 via Android
    13
    静态内容请用 Nginx
    geekvcn
    geekvcn
    May 19, 2022 via Android
    14
    下载服务器最好调优下内核流控
    mapleincode
    mapleincode
    May 19, 2022
    15
    静态: nginx
    带网页: python -m http.server (1 楼)
    带网页好看点: simple-http-server (类似关键字的基本都是)
    对象存储: minio

    目前我对于简单文件并且没有安全问题都是 python 起。隐私文件上传下载都依赖 minio ,minio 支持分享,上传,直接操作,直链,基本对象存储的功能都有了
    gesse
    gesse
    May 19, 2022
    16
    我个人理解,当然不一定全对,知识可能有理解不透的地方。

    1. 极有可能是你服务器带宽的问题,比如你服务器带宽就 5Mbit/s ,实际理论下载速度最宽 500KB/s 左右。
    2. 断点续传需要客户端支持,和 http 服务器的头支持(静态文件下载一般都支持,如果是动态输出,则需要看脚本有没有考虑 Content-Range 头),其实就是利用 http 协议里的 Content-Range 头,把一个文件一部分一部分搬运回来。
    3. 建议用 nginx 作为静态文件下载服务器。
    dream4ever
    dream4ever
    May 19, 2022
    17
    我在 Windows Server + IIS 上遇到过这种问题,发现是下载用时过长,IIS 设置的超时时间为 120s ,超过了这个限值,连接就被自动断开了。
    yinft
    yinft
    May 19, 2022
    18
    minio
    zerofancy
    zerofancy
    May 20, 2022 via Android
    19
    Python 的这个 simplehttpserver 虽然启动简单,但真不能算好用
    zerofancy
    zerofancy
    May 20, 2022 via Android
    20
    别说断点续传了,它甚至不能支持同时下载两个文件,这么多人推这个挺离谱
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5072 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 08:33 · PVG 16:33 · LAX 00:33 · JFK 03:33
    ♥ Do have faith in what you're doing.