web 站点静态文件应该用什么方式存储?

2019-06-13 08:23:58 +08:00
 51300520
这些静态文件主要是图片,假如有 5 个不同的站,分布在 5 台服务器上,都用 nginx 当网关,难道把各自静态文件分别存在 5 台服务器上?还是集中存在 mysql 上用 blob 方式读写?还是额外买个大硬盘机器,让 5 台服务器分别挂载自己需要的到本地?

一般这种是咋整的?
2689 次点击
所在节点    问与答
11 条回复
ebingtel
2019-06-13 08:30:24 +08:00
量大么?如果大,就不要放在数据库了……集中式的会方便管理,同时不会拖累线上系统
0312birdzhang
2019-06-13 08:36:14 +08:00
无脑 fastDFS
set01
2019-06-13 08:38:16 +08:00
有钱 oss,没钱自己搭个静态文件服务器
kljsandjb
2019-06-13 08:54:52 +08:00
S3 ?
leorealman
2019-06-13 09:34:13 +08:00
首选云存储,amazon s3、aliyun oss
internelp
2019-06-13 10:07:48 +08:00
Nginx 可以做到完全复制后端的网站,这样你后端放一个站,前端用户访问的站需要的文件会去后端取,然后以相同的目录结构保存一份。
参考: https://www.qiansw.com/using-nginxs-proxystore-cache-file-to-accelerate-access-speed.html
msg7086
2019-06-13 10:12:00 +08:00
如果你打算利用数据库的复制功能的话,存数据库也是可以的。文件系统本身就是一种数据库。
如果想存本地的话也可以用分布式文件系统。
反代或者自建存储也是一种做法。
jamblues
2019-06-13 10:47:22 +08:00
机器之间同步太耗时耗力了,而且如果是异地机房同步的话尽早放弃吧。

比较节约成本和省事的办法:

1. 将源图存 qiniu 或者 oss 三方存储上
2. 部署 5 台 CDN,使用 nginx 反向代理至图源,并本地缓存
3. 用 nginx 缓存管理,设置热数据存储大小就行了

这方案扛千万或者亿级数据问题不大,更大的话提供不了参考。
Vendettar
2019-06-13 10:49:19 +08:00
搞一个服务器专门用来存静态文件的吧
HuasLeung
2019-06-13 15:32:08 +08:00
可以搭个文件存储服务器,推荐 seaweedfs
hanguofu
2019-06-13 17:40:01 +08:00
请问为什么不把 图片也放在 cdn 上?难道放在 oss 三方存储会便宜一些?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/573413

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX