日期:2014-05-20  浏览次数:20608 次

一台服务器怎么访问多个文件服务器(求高手指点迷津)
一开始客户们通过局域网访问我们的服务器。我们把图片放到项目文件夹下。(不管是绝对路径还是相对路径都必须放到项目文件夹下才可以访问。(没弄明白原因,请大家不要纠结这点))。但是随着客户的单子越来越多,图片文件越来越大,导致硬盘空间不够用了。所以想弄N台文件服务器存放文件。但是本地怎么获取到远程的图片呢?求高手指点迷津。。。。。

------解决方案--------------------
图片库服务器上启个Apache,用HTTP协议提供图片。
如果图片库服务器的IP可以向用户公开,直接在页面中引用库服务器上的图片URL即可。
如果不公开,从主Web Server 上用Httpclient去图片库服务器抓。
------解决方案--------------------
四种方式:NFS挂接网络硬盘,集群服务部署,单机服务器多装硬盘,云存储方案。

假设你都是Linux服务器:
方式一、用NFS把其它服务器硬盘都挂到主服务器上,然后你的主服务器就拥有了很多个磁盘目录可以用了;
方式二、设置连接服务器一台,图片服务器N台,都装Apache;连接服务器只负责反向代理即可;
方式三、略。。。。
方式四、下载个开源的云存储方案,比如Apache的Hadoop,花个1天时间研究下,再1天时间部署下,完毕。


不过前两种方案都将面临你如何去按目录切分图片的问题,否则分散不出去。

------解决方案--------------------
探讨

但是共享访问需要用户名密码。怎么把需要输入的用户名和密码去掉啊?

------解决方案--------------------
1、apache反向代理图片服务器
apache公开一个HTTP连接,所有的图片连接都直接访问apache的代理地址,高效、直接。
缺点,除了应用服务器外,还需要另外为apache代理地址给用户公开一个IP和端口。

2、浏览器访问 - 》 应用服务器 -》 图片服务器
应用服务器接到图片访问请求,应用服务器可以通过编码实现多种方式去连接图片文件,FTP?文件共享?
应用服务器负载压力过大,效率偏低。。。

楼上所说的无非就是这2种的不同实现。。。