NFS + Nginx搭建小型文件服务器(实现上传和下载)
一、需求分析:所有文件均存储在A服务器目录下,实现文件的上传下载。
代码部署在C服务器,A服务器共享目录给C服务器,实现文件的上传;B服务器挂载A服务器目录,借助Nginx代理实现Http方式的文件下载。
二、网络流程图:
三、具体实施:
1、实现上传
A服务器相关配置
①A服务器安装NFS服务
yum install nfs-utils
# 修改配置文件(此文件一般是空的) vi /etc/exports
//支持配置多台服务器
/home/share/ 10.0.33.18(rw,sync,insecure,no_subtree_check,no_root_squash) #B服务器挂载端
/home/share/ 10.0.7.36(rw,sync,insecure,no_subtree_check,no_root_squash) #C服务器,测试上传用的
######到此服务端配置完成
ro 只读
rw 读写
sync: 资料同步写入到内存与硬盘当中
async:资料会先暂存于内存当中,而非直接写入硬盘
all_squash 所有登录用户指定为nobody
no_all_squash 以当前登录的用户所设定的权限(默认设定)
anonuid 在使用all_squash时的选择,可以对登录的帐号指定为指定的用户ID帐号
anougid 在使用all_squash时的选择,可以对登录的帐号指定为指定的组ID帐号
root_squash root用户指定为nobodyno_root_squash:(允许远程用户以root帐号登录(比较不安全))不讲root用户及所属用户组映射为匿名用户或用户组,默认root是被映射为匿名用户的nfsnobody,所有即使开了rw写权限,客户机也使无法写入的,这个不映射为匿名用户,还保留原来的用户权限就可以读写了,因为一般都是用root用户登录的。