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反向代理配置的全过程记录
Jun 22 Servers
nginx安装以及配置的详细过程记录
Sep 15 Servers
教你使用Jenkins集成Harbor自动发布镜像
Apr 03 Servers
IIS服务器中设置HTTP重定向访问HTTPS
Apr 29 Servers
tomcat下部署jenkins的方法
May 06 Servers
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
Jun 10 Servers
教你如何用cmd快速登录服务器
Jun 10 Servers
服务器SVN搭建图文安装过程
Jun 21 Servers
解决Git推送错误non-fast-forward的方法
Jun 25 Servers
Nginx配置使用详解
Jul 07 Servers
Windows server 2003卸载和安装IIS的图文教程
Jul 15 Servers
nginx sticky实现基于cookie负载均衡示例详解
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
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
使用ucenter实现多站点同步登录的讲解
2019/03/21 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
简单通用的JS滑动门代码
2008/12/19 Javascript
jQuery 白痴级入门教程
2009/11/11 Javascript
js预载入和JavaScript Image()对象使用介绍
2011/08/28 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
2016/11/25 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
将angular.js项目整合到.net mvc中的方法详解
2017/06/29 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
Vue服务器渲染Nuxt学习笔记
2018/01/31 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
VUE实现密码验证与提示功能
2019/10/18 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
python复制与引用用法分析
2015/04/08 Python
python opencv实现运动检测
2018/07/10 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
Python Process多进程实现过程
2019/10/22 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
css3实现画半圆弧线的示例代码
2017/11/06 HTML / CSS
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
青奥会口号
2014/06/12 职场文书
倡导文明标语
2014/06/16 职场文书
房产授权委托书范本
2014/09/22 职场文书
分享一些Java的常用工具
2021/06/11 Java/Android
mybatis3中@SelectProvider传递参数方式
2021/08/04 Java/Android
叶县这家生产军用电台的兵工厂,人称“四机部”,走出一上将
2022/02/18 无线电
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android