V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Canace
V2EX  ›  程序员

如何在自己的服务器上搭建图床

  •  
  •   Canace ·
    Canace22 · 2022-07-26 20:55:36 +08:00 · 5430 次点击
    这是一个创建于 632 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,我想在自己的服务器上搭建一个图床,用来在博客中使用,但是发现上传图片上去之后,访问服务器路径发现访问不到(题主是个纯前端,不太了解这块),我是不是要开启一个服务或者做一层 Nginx 代理呢?

    31 条回复    2022-08-05 15:04:50 +08:00
    hangbale
        1
    hangbale  
       2022-07-26 21:17:47 +08:00
    个人可以用七牛云 云存储+CDN 有免费 10 个 G 的额度
    RangerWolf
        2
    RangerWolf  
       2022-07-26 21:20:37 +08:00
    @hangbale 七牛的免费流量只能是 http 吧?如果是 https 应该是继续扣费的
    oneisall8955
        3
    oneisall8955  
       2022-07-26 21:24:49 +08:00 via Android
    @RangerWolf 没啥流量的博客每年 10 快钱都用不完
    nkidgm
        4
    nkidgm  
       2022-07-26 21:28:15 +08:00
    docker 部署 minio
    quanjw
        5
    quanjw  
       2022-07-26 21:33:24 +08:00
    github 也可以当图床
    realpg
        6
    realpg  
       2022-07-26 22:56:53 +08:00   ❤️ 2
    你直接发一个:
    50 块钱找个人帮忙搭个开源图床
    估计早解决了
    guowq
        7
    guowq  
       2022-07-26 22:58:16 +08:00 via Android
    搜图床源码,类似兰空啥的多得很,都是小白教程
    horseInBlack
        8
    horseInBlack  
       2022-07-26 23:05:55 +08:00   ❤️ 2
    图床的功能是用户上传文件,系统生成外部可访问的链接,并且网站管理员可以管理这些资源吧。

    如果只是你自己使用,最简单直观的做法可以直接放在 Web 服务器的目录下,比如 xxx.com/static/images/2022/07/001.jpg ,这样以文件夹的形式手动分类和调用。

    如果你是想练习 NodeJS 写后端,需要使用相关中间件,比如:
    https://expressjs.com/zh-cn/starter/static-files.html
    pytth
        9
    pytth  
       2022-07-27 00:26:53 +08:00 via iPhone   ❤️ 1
    直接去 github 搜吧,一大堆图床源码。自己用的话,直接部署在服务器就行了,其实也没必要弄七牛云或者阿里云 oss 这些,cdn 被刷流量可费钱了。
    kebamt
        10
    kebamt  
       2022-07-27 04:18:56 +08:00 via iPhone   ❤️ 2
    建议 AWS S3 或 Cloudflare R2 这两个都可以结婚 ShareX 使用,直接上传图片返回链接。AWS S3 可以配制成 Typora 上传目标,导入图片自动替换 S3 链接很方便。
    kebamt
        11
    kebamt  
       2022-07-27 04:20:17 +08:00 via iPhone
    @pytth Cloudflare R2 (OSS), 每月 10G 免费,不限流量,还可以用自己域名,没有这类问题。
    kebamt
        12
    kebamt  
       2022-07-27 04:21:41 +08:00 via iPhone
    我用这个 https://github.com/Cherry/ShareX-R2-Cloudflare-Workers 解决的,用着很方便
    hb751968840
        13
    hb751968840  
       2022-07-27 06:51:59 +08:00   ❤️ 1
    minio 支持 s3 ,满足中小型公司都没问题,能预览,能分享,能用 Access Key 上传
    Chad0000
        14
    Chad0000  
       2022-07-27 07:15:48 +08:00 via iPhone
    @kebamt 一直想问 cf 他们的 r2 免费 10g 是每月新增文件还是总文件 10g 。
    kebamt
        15
    kebamt  
       2022-07-27 07:30:01 +08:00 via iPhone
    @Chad0000 官网写的 ( Storage 10 GB / month ),是每月 10G 。
    链接: https://developers.cloudflare.com/r2/platform/pricing/
    zhuweiyou
        16
    zhuweiyou  
       2022-07-27 07:45:04 +08:00
    nginx root 或者 alias 指令, 就行了. 但是你放服务器上带宽有限, 速度不行, 静态资源一般都是扔对象存储
    Canace
        17
    Canace  
    OP
       2022-07-27 09:43:24 +08:00
    @zhuweiyou 我目前的方案就是用 nginx 映射到对应的目录,不过是打的 docker 镜像丢上去,对象存储好像是还要另外收钱的吧,自己看的博客,不想整这么复杂
    ql562482472
        18
    ql562482472  
       2022-07-27 09:45:46 +08:00
    开个 oss 也要不了 10 块钱 这些问题都能解决
    Canace
        19
    Canace  
    OP
       2022-07-27 09:45:53 +08:00
    @hangbale 七牛竟然有免费额度,我之前的项目也是用的七牛做静态资源存储,不过都是后端直接给我个链接的,确实挺方便
    Canace
        20
    Canace  
    OP
       2022-07-27 09:47:56 +08:00
    @ql562482472 程序嘛,喜欢造轮子,能自己造轮子的事,就不要氪金或用现成的!
    Canace
        21
    Canace  
    OP
       2022-07-27 09:49:11 +08:00
    @quanjw 速度不稳定,有时候请求很慢
    276562578
        22
    276562578  
       2022-07-27 10:12:59 +08:00
    @Canace 那你连访问 xx.com/xx.jpg 都慢应该考虑下别的原因
    fzle8
        23
    fzle8  
       2022-07-27 13:37:37 +08:00
    siweipancc
        24
    siweipancc  
       2022-07-27 13:53:50 +08:00 via iPhone
    上 s3 ,后续解决全部问题
    six6pear
        25
    six6pear  
       2022-07-27 15:33:00 +08:00
    lsky pro 建议加个对象存储
    henyi2211
        26
    henyi2211  
       2022-07-27 16:42:31 +08:00
    🐶 我花 3 小时,用 go 写了简易图床部署在自己的服务器上
    Chad0000
        27
    Chad0000  
       2022-07-27 19:04:25 +08:00
    @kebamt #15
    他们对 GB-month 有自己的定义,我又看了一眼。总体来说还是 10G 是总量,10G 用一个月,或 20G 用半个月(然后删除)都是用了 10GB-month 。我之前还以为是每个月都有 10G 的增量虽然这种可能性比较小。
    Canace
        28
    Canace  
    OP
       2022-07-28 09:10:14 +08:00
    hemingcn
        29
    hemingcn  
       2022-07-30 13:41:11 +08:00 via Android   ❤️ 1
    我的自用图床: https://z.run/
    lilihangzhou
        30
    lilihangzhou  
       2022-08-05 12:20:47 +08:00
    试过七牛云,速度虽然快,但是收费的,后来我是自己装了 nextcloud 网盘,建了一个目录专门放博客网站文件,然后把这个目录分享出来,通过共享链接找到这张图片的链接就能用了
    Canace
        31
    Canace  
    OP
       2022-08-05 15:04:50 +08:00
    @lilihangzhou 类似百度云盘共享链接?我之前翻文件也有想过这么干
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4748 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:55 · PVG 17:55 · LAX 02:55 · JFK 05:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.