nginx搭建NFS网络文件系统


Posted in Servers onApril 14, 2022

简介

什么是nfs服务器?

NFS(Network File System)即网络文件系统,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件,使用者访问网络上别处的文件就像在使用自己的计算机一样。

为什么需要nfs服务器

到同一个地方拿数据,保障网站数据的一致性,不管负载均衡器将请求分配到哪台后端的服务器,客户机看到的内容是一致的。

nfs服务器是否是最佳的解决方法

不是的,nfs是比较廉价的解决方法1,一般公司不会使用,性能不是特别高,建议使用专用的存储服务器。

nfs的优点和缺点

优点:随便一台linux服务器都可以搭建,成本非常低,构建非常容易
缺点:读取速度有限,跟网络质量,磁盘IO,CPU,内存等因素有关,再传统的tcp/ip网络传输。

存储服务器

优点:读写性能好,有灾备
缺点:成本高

RPC

NFS 支持的功能相当的多,而不同的功能都会使用不同的程序来启动, 每启动一个功能就会启用一些端口来传输数据,因此, NFS 的功能所对应的端口才没有固定,这时候就需要RPC绑定

RPC 最主要的功能就是在指定每个 NFS 功能所对应的端口.

搭建NFS服务器

准备一台centos7.9服务器(192.168.2.58)
一台客户机(192.168.2.218)

安装nfs

服务机

yum install nfs-utils -y
service nfs-server start #启动nfs服务
ps aux |grep nfs #查看nfs进程
ss -anplut|grep rpc
vim /etc/exports
/web 192.168.2.0/24(rw,all_squash,sync)

rw: 读写
sync: 写到内存的时候同步刷新到磁盘
all_squash:共享文件的UID和GID映射匿名用户anonymous(普通用户)。
aysnc:不实时同步 ,相应速率高,但危险。

mkdir /web
vim /web/index.html
#添加一些内容,退出并保存
>wyt #我就添加了wyt,退出并保存
exportfs -rv #刷新输出(类似刷新服务)

注意关闭防火墙和selinux

客户机

yum install nfs-utils -y
showmount -e 192.168.2.58 #查询nfs服务器共享的文件夹
mkdir /web #客户机新建文件夹
mount 192.168.2.58:/web /web 将nfs服务器上的/web目录挂载到本地的/web目录
ls /web #可以查看到nfs服务器的index.html,挂载后没有写的权限所以需要客户机给文件的权限
df -Th

nginx搭建NFS网络文件系统

权限受到两种权限限制

  • 文件系统权限
  • 共享权限

共享权限已经打开,所以服务机需要授权文件权限

chmod a+w /web  #/web所有人写的权限

只要把服务器的index.html挂载到nginx下的html,就可以实现在web下写操作。

mount 192.168.2.58:/web /usr/local/scwangyutao99/html/

nginx搭建NFS网络文件系统

挂载

挂载(mount):其实就是相当于插了一个外接U盘或者移动硬盘。umount就相当于弹出U盘。

umount /usr/local/scwangyutao99/html/
#umount.nfs4: /web: device is busy 是因为当前在目录之下

umount之后显示之前网页

nginx搭建NFS网络文件系统

设置开机自动挂载

/etc/rc.local

sed -i '$a mount 192.168.2.58:/web  /usr/local/scwangyutao99/html/' /etc/rc.local 
chmod  +x /etc/rc.d/rc.local #赋予可执行权限

修改/etc/fstab 文件
/etc/fstab 是linux系统开机自动根据这个文件里的内容挂载磁盘分区

第一列Device
第二列Mount point,设备的挂载点。
第三列filesystem,磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等
第四列:文件系统的参数,默认defaults
第五列:能否被dump备份命令作用。0代表不要做dump备份
1代表要每天进行dump的操作,2代表不定日期的进行dump操作
第六列:是否检验扇区,0不要检验,1最早检验(一般根目录会选择)
2,1级别检验完成之后进行检验

sed -i '$a 192.168.2.58:/web /usr/local/scwangyutao99/html/ nfs defaults 0 0' /etc/fstab

到此这篇关于nginx搭建NFS服务器的方法步骤的文章就介绍到这了!

Servers 相关文章推荐
Nginx访问日志及错误日志参数说明
Mar 31 Servers
nginx的zabbix 5.0安装部署的方法步骤
Jul 16 Servers
关于Nginx中虚拟主机的一些冷门知识小结
Mar 03 Servers
Shell脚本一键安装Nginx服务自定义Nginx版本
Mar 20 Servers
nginx配置之并发频次限制
Apr 18 Servers
阿里云服务器Ubuntu 20.04上安装Odoo 15
May 20 Servers
nginx rewrite功能使用场景分析
May 30 Servers
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
Jun 10 Servers
kubernetes集群搭建Zabbix监控平台的详细过程
Jul 07 Servers
django项目、vue项目部署云服务器的详细过程
Jul 23 Servers
CentOS7设置ssh服务以及端口修改方式
Dec 24 Servers
Shell中的单中括号和双中括号的用法详解
Dec 24 Servers
Mac电脑OS系统下安装Nginx的详细教程
Docker 镜像介绍以及commit相关操作
Docker官方工具docker-registry案例演示
Apr 13 #Servers
Nginx反向代理、重定向
Docker下安装Oracle19c
nginx location 带斜杠【 / 】与不带的区别
Apr 13 #Servers
Linux下使用C语言代码搭建一个简单的HTTP服务器
You might like
帖几个PHP的无限分类实现想法~
2007/01/02 PHP
用php获取本周,上周,本月,上月,本季度日期的代码
2009/08/05 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
读jQuery之七 判断点击了鼠标哪个键的代码
2011/06/21 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
JavaScript获取网页表单action属性的方法
2015/04/02 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
JavaScript中字符串(string)转json的2种方法
2015/06/25 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
2016/10/10 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
原生js实现新闻列表展开/收起全文功能
2017/01/20 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
微信小程序实现星星评价效果
2018/11/02 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
使用 vue 实现灭霸打响指英雄消失的效果附demo
2019/05/06 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
ansible作为python模块库使用的方法实例
2017/01/17 Python
Python用imghdr模块识别图片格式实例解析
2018/01/11 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
Python Numpy 自然数填充数组的实现
2019/11/28 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
python 如何区分return和yield
2020/09/22 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
秘书专业自荐信范文
2013/12/26 职场文书
家长学校实施方案
2014/03/15 职场文书
村干部培训班主持词
2014/03/28 职场文书
教师节晚会主持词
2015/06/30 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书
为什么mysql字段要使用NOT NULL
2021/05/13 MySQL