关于WEB集群中文件服务器的讨论

原文地址: http://blog.itpub.net/29806344/viewspace-1364778/

在WEB集群中一般都要上传和删除图片。小规模的时候,图片放在本地,再通过同步方式来保持一致。

常见的文件服务器:samba+web,ftp+web,nfs+web,rsync单向同步,分布式存储

 samba+web,ftp+web这2种需要改程序代码,用的不多;rsync单向同步在小环境中用;nfs+web在中型环境用的最多;大型环境,海量文件用的是分布式存储,比如hadoop等。

一:samba+web文件服务器

   存储:通过samba账号和密码来存储图片,需要修改程序代码

   调取:通过文件服务器web的URL

 

 

二:ftp+web文件服务器

   存储:通过ftp账号和密码来存储图片,需要修改程序代码

   调取:通过文件服务器web的URL

 

 

三:rsync+inotify文件服务器

存储:保存到WEB本地,通过rsync同步到文件服务器

   调取:通过文件服务器web的URL

   缺点:单向同步
关于WEB集群中文件服务器的讨论

 

四:rsync+sersync+web文件服务器
和rsync+inotify相同,但是比其更快更节约资源 

 

关于WEB集群中文件服务器的讨论

五:nfs+web文件服务器

存储:远程nfs文件夹挂载到本地,nfs同步

   调取:1,通过文件服务器web的URL;2,直接在挂载的文件夹下取图片

 关于WEB集群中文件服务器的讨论

 

实际操作如下:

NFS+WEB文件服务器:192.168.47.142

WEB1:192.168.47.143

WEB2:192.168.47.144

 

在NFS文件服务器上:

yum install nfs-utils -y

yum install httpd  -y

chmod 777 -R /var/www/html/upload

chkconfig nfs on

cat /etc/exports:

/var/www/html/upload   *(rw,sync,root_squash)   192.168.47.142

/var/www/html/upload    192.168.47.0/24(rw,sync,root_squash)

 

/etc/init.d/rpcbind restart

/etc/init.d/nfs restart

 

 

 

在两台WEB上:

mkdir /var/www/html/upload

chmod 777 -R  /var/www/html/upload

cat /etc/fstab:

......

proc                    /proc                   proc    defaults        0 0 192.168.47.142:/var/www/html/upload  /var/www/html/upload  nfs defaults     0 0

#注意:写入/etc/fstab中,会自动开机挂载的

mount –a

 

#WEB2的操作和WEB1一样即可;

注意:

当图片多了,可以把upload的功能从中分离出来,可以考虑利用URL进行hash分组,用一组机器来实现upload,另一组机器来实现浏览。进行不同的设置,可以充分利用到NFS的缓存,可以提高性能

你可能感兴趣的:(Web)