V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
creedowl
V2EX  ›  Linux

Linux 下微型 http 服务器推荐?

  •  1
     
  •   creedowl · 2018-02-25 18:31:24 +08:00 · 9800 次点击
    这是一个创建于 2223 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有时候需要一个微型的 http 服务器用作文件分享和 html 文件预览,之前一直用 python3 里面的 http.server,但这个不支持分段,大文件经常出错,请问有什么推荐?

    52 条回复    2018-03-13 22:56:46 +08:00
    hadoop
        1
    hadoop  
       2018-02-25 18:33:33 +08:00 via Android
    nginx 吧,简单好用
    MeteorCat
        2
    MeteorCat  
       2018-02-25 18:34:07 +08:00 via Android
    nginx +1
    lllmlll
        3
    lllmlll  
       2018-02-25 18:36:21 +08:00 via Android
    Nginx+1
    totoro625
        4
    totoro625  
       2018-02-25 18:36:27 +08:00 via Android
    caddy 试试?
    zjsxwc
        5
    zjsxwc  
       2018-02-25 18:39:21 +08:00
    golang 的 net/http 库,我用它写了个局域网内看视频的服务,感觉性能和 nginx 差不多,但更灵活
    flyz
        6
    flyz  
       2018-02-25 18:39:23 +08:00
    caddy lighttpd 都算是微型吧
    zw
        7
    zw  
       2018-02-25 18:39:39 +08:00   ❤️ 1
    darkhttpd
    我选它,关键在于它基本没有对第三方库的依赖,而且编译后不到 50k,稳定性也非常好,反正我是从来没遇到过大文件出错的。
    creedowl
        8
    creedowl  
    OP
       2018-02-25 18:43:50 +08:00
    @hadoop nginx 太大了吧。。配置有点复杂,开关有点麻烦,个人感觉不是很适合简单的使用
    creedowl
        9
    creedowl  
    OP
       2018-02-25 18:44:37 +08:00
    @zjsxwc 那还得装个语言。。
    FindHao
        10
    FindHao  
       2018-02-25 18:57:37 +08:00 via Android
    lighttpd,apt 就有。
    zjsxwc
        11
    zjsxwc  
       2018-02-25 18:59:07 +08:00
    @creedowl

    用 go 编译后的那个二进制文件就好了。


    https://github.com/zjsxwc/genhtml
    gstqc
        12
    gstqc  
       2018-02-25 19:05:40 +08:00 via iPhone
    server {
    listen 8080;
    root /tmp;
    }

    nginx 四行搞定啊
    ETiV
        13
    ETiV  
       2018-02-25 19:07:14 +08:00 via iPhone
    ningx 开 autoindex
    hymzhek
        14
    hymzhek  
       2018-02-25 19:13:23 +08:00   ❤️ 1
    busybox httpd
    php -S localhost:8000
    python -m SimpleHTTPServer
    pathbox
        15
    pathbox  
       2018-02-25 19:23:17 +08:00 via iPhone
    openresty
    pathbox
        16
    pathbox  
       2018-02-25 19:24:05 +08:00 via iPhone
    @zjsxwc 大神 可有代码分享
    noe132
        17
    noe132  
       2018-02-25 19:25:15 +08:00   ❤️ 1
    nginx 说不定比 python 还内存占用小
    gstqc
        18
    gstqc  
       2018-02-25 19:28:30 +08:00 via iPhone
    @noe132 nginx 简单静态站,超过 3M 内存算我输😂
    shengyu
        19
    shengyu  
       2018-02-25 19:35:12 +08:00
    caddy~
    doubleflower
        20
    doubleflower  
       2018-02-25 19:58:12 +08:00
    如果你是不要 nginx 想要 python 这种临时用一下的

    https://github.com/zeit/serve


    python 这个 bug 实在太严重了
    azh7138m
        21
    azh7138m  
       2018-02-25 20:02:26 +08:00
    chrome 有个 app 叫做 Web Server,挺方便的
    zjsxwc
        22
    zjsxwc  
       2018-02-25 20:10:15 +08:00
    @pathbox

    我 11 楼发了,代码很简单都是复制黏贴来的凑合看吧。。
    pathbox
        23
    pathbox  
       2018-02-25 20:27:51 +08:00 via iPhone
    @pathbox 看明白了,主要还是要前端播放器的支持
    Cu635
        24
    Cu635  
       2018-02-25 20:41:39 +08:00
    lighttpd、nginx 都可以。
    jjianwen68
        25
    jjianwen68  
       2018-02-25 20:46:30 +08:00 via Android
    nodejs 的话,可以看看:node-file-manager,anywhere
    wspsxing
        26
    wspsxing  
       2018-02-25 20:50:33 +08:00
    https://github.com/biluohc/fht2p
    无耻的抛链接,CLI 程序且支持简单的配置文件(toml)。
    qiukong
        27
    qiukong  
       2018-02-25 20:53:56 +08:00
    nginx 你用 debian 装也挺容易的,你看他是不是微型不光考虑大小,还要考虑性能。
    caddy、lighttpd、nginx 里 nginx 是性能最好,占内存最小的。
    icris
        28
    icris  
       2018-02-25 21:09:02 +08:00   ❤️ 1
    之前用 go 写过一个十几行的代替 simple http server
    ```
    package main

    import (
    "net/http"
    "flag"
    "fmt"
    )

    func main() {
    path := flag.String("path", ".", "PATH to serve")
    port := flag.String("port", "8000", "PORT to listen on")
    flag.Parse()
    fmt.Printf("listening on port %v...\n", *port)
    panic( http.ListenAndServe(":" + *port, http.FileServer( http.Dir(*path))))
    }
    ```
    clino
        29
    clino  
       2018-02-25 21:14:28 +08:00
    这个支持分块下载:
    https://github.com/lerry/httpserver
    Admstor
        30
    Admstor  
       2018-02-25 21:22:29 +08:00
    lighttpd 足够轻了,文档什么也比较齐全
    ARM 都能跑,应该可以了
    hqs0417
        31
    hqs0417  
       2018-02-25 21:27:26 +08:00 via Android
    python -m SimpleHTTPserver
    zn
        32
    zn  
       2018-02-25 21:29:14 +08:00
    nginx,几乎零依赖,设置一点都不复杂,默认设置就够了。安装后把文件丢到 www 目录就完了。
    cevincheung
        33
    cevincheung  
       2018-02-25 21:39:50 +08:00
    linux 自带 python。python 自带 simplehttpserver
    cs010
        34
    cs010  
       2018-02-25 21:54:38 +08:00 via Android
    很久以前写的,https://github.com/ccssrryy/python_file_server/blob/master/main.py ,单文件,python2.7 的
    des
        35
    des  
       2018-02-25 22:01:37 +08:00   ❤️ 1
    busybox httpd,小型设备一般都有这个。
    临时用下挺好,不过没有 autoindex
    autotesting
        36
    autotesting  
       2018-02-25 22:11:39 +08:00
    我用 flask 写的内部共享展示产品文档的 html,通过和 git 联动支持产品文档的版本管理
    charli
        37
    charli  
       2018-02-25 22:14:12 +08:00
    文件分享可以看下`chfs`
    ```
    http://iscute.me/chfs
    ```
    Cat73
        38
    Cat73  
       2018-02-25 22:15:56 +08:00
    @noe132 不是应该,是肯定了。。
    flynaj
        39
    flynaj  
       2018-02-25 23:24:52 +08:00 via Android
    按你的需求,还是 nginx 最合适
    nwljy
        40
    nwljy  
       2018-02-25 23:36:28 +08:00
    mina
    mogami18
        41
    mogami18  
       2018-02-25 23:53:04 +08:00
    如果是硬件,当然推荐 hp gen8
    wizardoz
        42
    wizardoz  
       2018-02-26 09:35:54 +08:00
    nginx docker 起停相当方便。
    noahziheng
        43
    noahziheng  
       2018-02-26 09:42:10 +08:00 via Android
    caddy 配置简单,性能不差,稳定性一般环境下没发现过问题
    wekw
        44
    wekw  
       2018-02-26 10:12:15 +08:00
    老老实实 Nginx
    jyf
        45
    jyf  
       2018-02-26 10:17:16 +08:00
    以前研究过这个话题 还收集了一堆 那时候活到现在 还活得好的只有这个了

    https://en.wikipedia.org/wiki/Mongoose_%28web_server%29
    flyingHagan
        46
    flyingHagan  
       2018-02-26 10:24:59 +08:00
    nginx 不就行了,造轮子不嫌烦吗
    mythhack
        47
    mythhack  
       2018-02-26 10:30:46 +08:00
    caddy
    bullettrain1433
        48
    bullettrain1433  
       2018-02-26 10:50:35 +08:00
    lighttpd 还不错
    creedowl
        49
    creedowl  
    OP
       2018-02-26 18:33:07 +08:00
    @doubleflower 这个很方便,我就是要找这种的,谢谢
    inflationaaron
        50
    inflationaaron  
       2018-02-27 03:24:35 +08:00 via iPhone
    nodejs 有 http-server 性能也很好
    wwb721
        51
    wwb721  
       2018-03-02 14:21:04 +08:00
    老老实实 Nginx
    fox0001
        52
    fox0001  
       2018-03-13 22:56:46 +08:00
    Nginx 吧,以前 64M 内存的 VPS 也是跑它来建站
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3888 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 05:09 · PVG 13:09 · LAX 22:09 · JFK 01:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.