搭建NFS使多个服务器中的web项目共享图片资源

我的个人博客:逐步前行STEP

有一个使用laravel框架的项目,采用laravel自带的文件管理系统,还有一个使用laravel-admin扩展的管理端,更是依赖于自带的文件管理系统。因部署了多台服务器,需要打通数据,考虑了各种方案,比如fastdfs、oss,初步了解后发现无法完全满足需求:
fastdfs:在文件的存取上保证了一致的路径,用户端的上传和图片压缩都影响不大,只要最终把文件上传到fastdfs就行,但是laravel-admin中对图片上传封装得比较深,要改成上传到fastdfs中的话,工作量比较大,而且感觉很难做到,比较文件上传组件是通用的,除非自己重写一下文件上传组件,感觉难度比较大。
oss:现有的条件下要使用OSS得另行购买,而且同样存在上面的问题。

经过研究确定,必须有一个共享文件存储的东西,并且可以和现有的项目无缝衔接,存取方式,存储路径都不变,才能以最小的开发成本打通这几个项目的数据。
经过一番搜索,发现了别人类似需求的解决方案:NFS。
NFS就是网络文件系统,跟我们在windows上开放共享文件是一样效果的,虽然实际存储的位置在另外的服务器上,但是可以配置和当前一样的访问路径,这种中心存储模式和fastdfs的分布式存储刚好相反,不过我觉得可以在NFS服务器上搞fastdfs以便实现文件的冗余备份和分布式存储这样易于扩展容量。

下面是我配置的过程中的一些关键步骤:
1、首先关闭防火墙(生产环境下可以应该开启防火墙保证安全,然后开放相关端口)
2、首先安装 nfs-utils ,rpcbind

 yum -y install nfs-utils ,rpcbind

3、禁用selinux
(以上三步需在服务端、客户端都执行)
4、编写服务端配置:vi /etc/exports
写入:

/data/share ip(rw,sync,wdelay,hide,no_subtree_check,sec=

你可能感兴趣的:(linux,laravel,laravel-admin)