失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > php 负载均衡文件上传 nginx负载均衡同步上传文件的问题

php 负载均衡文件上传 nginx负载均衡同步上传文件的问题

时间:2021-01-04 15:02:05

相关推荐

php 负载均衡文件上传 nginx负载均衡同步上传文件的问题

大神们,我现在有个问题,帮我看下:

因为使用nginx均衡负载,由于分发请求到不同服务器,这样如果只想把上传的图片只保存到一台服务器就会出问题。

百度到的方法:

第一种方法是代码里面使用ftp 把文件同步到保存服务器

第二种方法是如果不是保存文件的服务器,使用curl 把文件提交到保存服务器再重新存一次。

第三种方法就是直接使用保存服务器的ip来调接口了。第三种方法我们这边先不考虑。

不知道大神们,遇到这种情况是怎么实现这种需求的

回复内容:

大神们,我现在有个问题,帮我看下:

因为使用nginx均衡负载,由于分发请求到不同服务器,这样如果只想把上传的图片只保存到一台服务器就会出问题。

百度到的方法:

第一种方法是代码里面使用ftp 把文件同步到保存服务器

第二种方法是如果不是保存文件的服务器,使用curl 把文件提交到保存服务器再重新存一次。

第三种方法就是直接使用保存服务器的ip来调接口了。第三种方法我们这边先不考虑。

不知道大神们,遇到这种情况是怎么实现这种需求的

宿主的nginx对于上传的location做特殊处理, 只让一台机器来负责文件上传, 不完美但是有效, 可以作为一段时间的过度方案

搭建一个分布式文件系统, 挂载到所有的服务器上, 处理文件上传后写只写入这个特定目录, nginx中规划一个location指向这个这个目录(例如/data/upload), 缺点就是要多维护一个这个分布式文件系统 (和你的第一种思路有点像, 但分布式文件系统不需要"同步")

使用外部CDN文件上传来解决这个问题, 七牛, 又拍云都可以

1.专门整几台服务器用来存这些静态资源;

2.整出几个盘,弄成网络盘(nfs),专门用来存储这些文件,每个服务器都去挂载这几个盘,和windows的共享文件夹类似;

3.上传成功之后返回一个文件的url,这个url就是文件的地址了;

发布php中文网,转载请注明出处,感谢您的尊重!

如果觉得《php 负载均衡文件上传 nginx负载均衡同步上传文件的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。