V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
wonpain
V2EX  ›  分享创造

Nginx 实现最简单的文件分享,手机观看电脑内视频

  •  1
     
  •   wonpain · 2018-05-30 20:05:44 +08:00 · 6575 次点击
    这是一个创建于 2367 天前的主题,其中的信息可能已经有所发展或是发生改变。

    通过 nginx 的 autoindex 功能,将 PC 的一个目录挂载到 http://192.168.1.5/ 类似的内网地址,局域网内其他设备可以访问、下载,实现文件共享。Windows 也有类似的功能,只是手机访问不太方便。

    应用场景比较单一:手机观看电脑内的视频。也可以做内网的大文件传输,速度很快,可以跑满内网带宽。小文件还是微信、QQ 发比较方便。

    https://wonpn.com/2018-05-30-nginx-share-files-in-intranet.html

    另外,问一下 win 版 nginx 为啥不行?

    24 条回复    2019-07-05 09:35:09 +08:00
    lululau
        1
    lululau  
       2018-05-30 20:08:21 +08:00
    Plex 了解一下,Infuse 了解一下
    lululau
        2
    lululau  
       2018-05-30 20:10:20 +08:00
    http 文件分享可以用 webfsd,因为每次分享不一定都是在同一个目录,nginx 要改配置比较麻烦

    也不要说 python -m SimpleHTTPServer,这个有 bug,经常连接无响应
    care
        3
    care  
       2018-05-30 20:22:34 +08:00 via iPhone
    apache 不行吗? 2333
    flynaj
        4
    flynaj  
       2018-05-30 21:08:09 +08:00 via Android
    Windows 版可以的,目录目录这样写 d://www//
    chintj
        5
    chintj  
       2018-05-30 21:09:23 +08:00
    chfs?
    winterbells
        6
    winterbells  
       2018-05-30 22:18:50 +08:00
    windows 可以啊,之前试过
    不过有个问题就是路径中文字符(除非 win10 中改字符集编码为 utf8 )
    chust
        7
    chust  
       2018-05-30 22:21:59 +08:00 via Android
    我都是用 caddy browse 来干这个的
    huweic
        8
    huweic  
       2018-05-30 22:40:50 +08:00 via Android
    之前一直后 hexo -s 干这个😂
    huweic
        9
    huweic  
       2018-05-30 22:40:58 +08:00 via Android
    Ultraman
        10
    Ultraman  
       2018-05-30 22:43:51 +08:00
    老哥你的 nginx 配置文件最后少了一个}
    wonpain
        11
    wonpain  
    OP
       2018-05-30 22:56:57 +08:00
    @huweic 是啊,这个简单


    @vcinex 复制的时候漏了😋
    wspsxing
        12
    wspsxing  
       2018-05-30 23:37:50 +08:00
    我专门写了个 http 工具: [fht2p]( https://github.com/biluohc/fht2p)来干这个,
    工具是 epoll 驱动的,效率还可以。界面如图![snapshot.png]( https://raw.githubusercontent.com/biluohc/fht2p/master/config/assets/snapshot.png)。
    但是还有很多东西没做,比如 https、上传和登录验证等。


    另外看视频其实 smb+es 文件浏览器好很多( windows/Linux 都支持的不错),方便看 mkv 等浏览器不直接支持的文件。
    wspsxing
        13
    wspsxing  
       2018-05-30 23:38:46 +08:00
    这个 v2 的图片和链接到底怎么个搞法。。
    holala
        15
    holala  
       2018-05-30 23:50:18 +08:00
    @chust Caddyfile 要怎么写?
    param
        16
    param  
       2018-05-31 01:37:19 +08:00 via Android
    @holala 不用写
    chust
        17
    chust  
       2018-05-31 01:56:59 +08:00
    @holala #15 直接在要共享的目录运行 caddy browse 就行了,不用配置文件
    naiba
        18
    naiba  
       2018-05-31 09:28:29 +08:00 via Android
    没有 php -S 的吗
    la0wei
        19
    la0wei  
       2018-05-31 09:52:34 +08:00
    @chust 确定?caddy 没有配置文件的话,默认确实是使用 caddy 所在文件位置做默认,但是端口应该不是 80,是 2015,然后,没有 browse 指令的话,caddy 显示的应该是 404,因为没有 index.html
    不过 caddy 确实是方便,nginx 指令不熟悉完全玩不转
    la0wei
        20
    la0wei  
       2018-05-31 10:00:24 +08:00
    @holala
    IP:8888 {
    root D:\www\
    browse
    }
    改 IP 和端口
    如果 caddy 在需要分享的目录,则 root 那行可以不写,或者另行指定
    chust
        21
    chust  
       2018-05-31 11:04:04 +08:00 via Android
    @la0wei 改端口的话后边加个-port 8888 就行啦,写 Caddyfile 我嫌有点麻烦。。。
    holala
        22
    holala  
       2018-05-31 14:19:41 +08:00
    @la0wei 感谢指教
    xk0n
        23
    xk0n  
       2018-05-31 21:48:37 +08:00   ❤️ 1
    nginx 文件名太长会自动省略后面的,而且 windows 下因为编码问题,中文路径会报 500 错误。
    其实用 golang 实现也非常简单,文档中就有现成的

    package main

    import (
    "log"
    "net/http"
    )

    func main() {
    // Simple static webserver:
    log.Fatal( http.ListenAndServe(":8080", http.FileServer( http.Dir("/usr/share/doc"))))
    }

    再交叉编译下 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build simpleHttpFileServer.go
    完美解决了
    wym0823
        24
    wym0823  
       2019-07-05 09:35:09 +08:00
    caddy
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5796 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:18 · PVG 10:18 · LAX 18:18 · JFK 21:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.