RT 老哥哥们 我自己在搞一个壁纸网站 然后呢图片文件很大 请问下 关于图片储存有那些比较好的方案呢(还需要比较便宜= =、)
PS: 我买的服务器 硬盘很贵 但是流量倒是很多
https://pic.jitudisk.com/public/2022/12/05/660917ac18901.png
1
44670 2022-12-05 11:06:44 +08:00
在储存图片时,一个好的方案是使用云存储。这种方式可以让你的图片存储在云端,而不是在你的服务器上。这样可以节省你服务器的硬盘空间,同时也可以降低你的成本。此外,云存储还可以提供更高的可用性和可扩展性。
你可以在不同的云服务提供商中选择合适的云存储方案。通常来说,这些服务提供商会提供一个按需付费的模型,这样你只需要为实际使用的存储空间付费。 此外,你还可以使用图片优化技术来减小图片的文件大小。这样可以降低你的流量成本,同时也可以让图片加载更快。你可以使用各种图片优化工具来实现这一点,例如 ImageOptim 或 Kraken.io 。 总之,在储存图片时,使用云存储和图片优化是一个很好的方案。它可以节省你的成本,并提高图片的加载速度和可用性。 |
2
Nxxx OP @44670 好的 谢谢老哥 顺便问下 那比如我存在谷歌云上的图片 我不想直接用谷歌云那边的公开链接,是通过一个中间件获取数据流 然后在发送给客户端,还是说 可以靠 nginx 也能实现我说的中间件的效果呢
|
3
44670 2022-12-05 11:22:57 +08:00
@Nxxx 是的,你可以通过使用中间件来获取图片数据流,然后再发送给客户端。这样你就不用使用谷歌云上的公开链接,而是通过你自己的服务器来获取图片。
同时,你也可以使用 nginx 来实现这一功能。通过在 nginx 配置文件中添加一些特定的指令,你可以实现通过 nginx 服务器获取图片数据流,然后再发送给客户端。这样做的好处是可以让你的服务器更加高效地处理图片流量,减少了对中间件的依赖。 总之,你可以通过使用中间件或 nginx 来实现将图片从云存储中获取并发送给客户端的功能。选择哪种方式取决于你的具体需求和偏好。 配置 nginx 来实现从云存储中获取图片并发送给客户端的功能,需要在 nginx 配置文件中添加一些特定的指令。下面是一个示例配置: server { listen 80; server_name example.com; location /images/ { # 设置代理服务器,用于从云存储中获取图片 proxy_pass https://storage.googleapis.com/my-bucket/; # 设置请求头,以便云存储能够识别请求 proxy_set_header Authorization "Bearer <your_access_token>"; } } 在上面的配置中,我们首先在 server 块中声明了监听 80 端口,并设置了服务器名称为 example.com 。然后我们在 location 块中指定了 URL 路径 /images/,这表示当客户端请求的 URL 以 /images/ 开头时,nginx 会执行特定的操作。 接下来我们使用 proxy_pass 指令来设置代理服务器的地址。这里我们指定的是云存储的地址,即 https://storage.googleapis.com/my-bucket/。然后我们使用 proxy_set_header 指令来设置请求头,其中包含了访问令牌,这样云存储才能识别请求。 当客户端请求 /images/ 目录下的图片时,nginx 会向云存储发送代理请求,并将云存储返回的图片数据流直接发送给客户端。 通过 nginx 实现从云存储中获取图片并发送给客户端的功能,可能会存在一些安全风险。 首先,由于图片数据流是通过 nginx 代理服务器传输的,因此有可能存在中间人攻击的风险。如果攻击者能够截获图片数据流,那么就可能会泄露用户的隐私数据,或者修改图片内容,从而导致不安全的后果。 其次,如果你在 nginx 配置文件中使用了明文的访问令牌,那么也有可能会泄露你的云存储账号信息。如果攻击者能够获取到你的访问令牌,那么就可以擅自访问你的云存储账号,从而导致数据泄露或损坏的风险。 为了避免这些安全风险,你需要采取一些预防措施。例如,你可以使用 HTTPS 协议来保证图片数据流的传输安全,并且在 nginx 配置文件中使用加密的访问令牌,以防止攻击者窃取你的账号信息。同时,你也可以定期检查你的网络安全,以确保你的系统不被攻击。 |
6
imMetaverse 2022-12-05 11:37:09 +08:00
怎么都是 ai 答复了
|
7
aabbcc112233 2022-12-05 11:38:44 +08:00
@Nxxx 用的 chatgpt ,直接 b
|
8
tanglu 2022-12-05 11:44:36 +08:00
对象存储是一个不错选择
我推荐 cloudflareR2 不计流量 1T 空间 15 刀 /月 到国内速度也还不错 之前有个测试 ****loc.com/thread-1093052-1-1.html 测试视频 : https://r2.smalljp.com/default/xiongchumo.mp4 |
10
estk 2022-12-05 12:55:23 +08:00 via iPhone
https://nft.storage
|
11
shuxhan 2022-12-05 13:07:20 +08:00
对象存储 bitiful 挺不错,成本很低
|
12
cheese 2022-12-05 13:20:28 +08:00 3
@Livid 1L 这种,连续多天多次直接回复 chatgpt 生成的回答,应该怎么定性?支持还是反对,反对的话,是警告还是 ban 号。这样的回答在 v 站越来越多了
|
13
perfectlife 2022-12-05 13:20:58 +08:00
fastdfs minio
|
15
binaryify 2022-12-05 13:42:30 +08:00
ai 回答 统一 block 处理
|
17
Livid MOD @Nxxx 那你为什么不直接用 chat.openai.com 呢?
|
18
SenLief 2022-12-06 11:00:57 +08:00
cf 的 R2 不错,容量也不算贵。
|
19
mouyong 2022-12-06 13:35:15 +08:00 1
如果你愿意一次付费,一直使用,可以采用 vpn ,nas 结合的方案。购买一次 nas ,放在家里,使用 openvpn ,再有个云端服务器,不用担心流量费用、存储过大、存储文件丢失等各种问题。
|
20
clrss 2022-12-06 14:10:09 +08:00
AI 回复相当于全文转载, 至少要注明出处. 否则 ban 了不冤.
|
24
Nxxx OP @tanglu 感觉很方便 因为我的是壁纸网站 所谓公开也无所谓了了 而且减轻了我服务器传输图片数据的问题直接全放 cf 了 预付 5 美金 10w 张照片不 只限制数量,后续每 10w 张图 增加 1 美金 后付款
|
25
woshinide300yuan 2023-01-15 23:23:52 +08:00
@Nxxx 可以给看看网站吗?学习一下。
|
26
Nxxx OP @tanglu 顶不住了太贵了 现在预估我一月可能要交 100 刀的图片托管费用 其中大部分都是图片展示次数导致的收费 不知道是收费策略改了还是我当时没看清楚
https://imgloc.com/i/sIhAZ https://imgloc.com/i/sI5NF |
27
tanglu 2023-03-11 13:52:50 +08:00
@Nxxx 我没有用过 images ,他难道不是像 R2 那样缓存到 CDN 吗?
R2 对象存储也是收取读取费用,文件读取过程是"文件服务器>>cloudflareCDN>>用户",R2 只是在"文件服务器>>cloudflareCDN"这一段的读取次数计费,但是 cloudflareCDN 会将文件缓存,用户下次访问直接就是“cloudflareCDN>>用户”,不会涉及到请求次数计费 我以为 images 也是这样 R2 可以参考我写的: https://blog.tanglu.me/cloudflare-R2-configure |
28
tanglu 2023-03-11 13:55:46 +08:00
你可以说下你的总文件大小和带宽平均大小,我帮你分析下选用什么划算
|
29
Nxxx OP @tanglu 好的先谢谢老哥了 那个 images 可以理解为付费的图床,然后我的文件 99%都是图片 100K 以下目前大概 6-7GB 应该 因为都存在 images 所以我不太清楚 再有我目前只能看服务器的平均带宽 传输也只是一下数据库查询的关联数据信息和图片 url 的信息,目前服务器平均 2.5MB/s 上下行差不多
|
30
tanglu 2023-03-12 13:53:15 +08:00 1
@Nxxx 才 10GB 不到的话肯定用 R2 对象存储划算,给存储桶套上你的 CF 域名然后在规则中设置全部缓存就行,这样存储和流量成本为 0 元
可以参考我博客写的: R2 对象存储: https://blog.tanglu.me/cloudflare-R2-configure 其他缓存规则: https://blog.tanglu.me/cloudflare-configure/#Caching |
31
tanglu 2023-03-12 13:54:35 +08:00
我以为你图片是 10MB 左右的大小,100k 大小就用对象存储就行
|