外网页面大量显示内网图片,何种方法效率高?

发布于 2022-09-04 22:49:15 字数 204 浏览 14 评论 0

服务器为内网,映射出一外网地址,上有一web程序,展示内网其他服务器的图片。当前的做法是使用php的file_get_contents方法下载图片,然后利用nginx将此外网ip代理到php程序后,可以访问到图片。图片量每天在600w左右,前端页面打开之后图片大量显示不全。之前的做法是图片全部下载到本地服务器,但是磁盘压力很大,需要每天删除图片。 请问大神门,有没有好的方法做这个图片的中转?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

灰色世界里的红玫瑰 2022-09-11 22:49:15

把所有的图片都存放在一个磁盘上(或者多个磁盘),然后每个服务器都挂载这个磁盘,就可以了

上面说的,nginx反向代理也可以

人│生佛魔见 2022-09-11 22:49:15

七牛镜像模式,在第一次访问七牛的时候,七牛没有图片,此时七牛会回到源站抓取图片,源站第一次图片被访问时采用你原先的策略。一旦你本地服务器有图片,也说明该图片已经被七牛缓存,即图片可以被删除了。

具体设置步骤:

1.设置七牛镜像模式到你的站点

2.保留你的下载图片资源到你本地的策略实现

3.在本地服务器设置定时脚本,清理文件mtime在一个小时之前的图片

4.设置你站点图片的url域名为七牛图片域名

鲜肉鲜肉永远不皱 2022-09-11 22:49:15

nginx反向代理图片服务器。

青芜 2022-09-11 22:49:15

用一个域名指向图片服务器 或者把图片传到第三方存储 比如阿里云 七牛 又拍

青芜 2022-09-11 22:49:15

求助同事后,放弃file_get_contents 改用curl方法后,问题已解决。file_get_contents下载图片不全,而curl不会。php+nginx做跨域还是挺靠谱的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文