day03 部署NFS服务

NFS的原理

1、什么是NFS
共享网络文件存储服务器 2、NFS的原理
1.用户访问NFS客户端,将请求转化为函数
2.NFS通过TCP/IP连接服务端
3.NFS服务端接收请求,会先调用portmap进程进行端口映射
4.Rpc.nfsd进程用于判断NFS客户端能否连接服务端;
5.Rpc.mount进程用于判断客户端对服务端的操作权限
6.如果通过权限验证(依赖系统用户),可以对服务端进行操作,修改或读取 3、NFS的优点:
1)NFS文件系统简单易用、方便部署、数据可靠、服务稳定、满足中小企业需求。
2)NFS文件系统内存放的数据都在文件系统之上,所有数据都是能看得见。 4、NFS的缺点:
1)存在单点故障, 如果构建高可用维护麻烦web->nfs()->backup
2)NFS数据明文, 并不对数据做任何校验。
3)客户端挂载NFS服务没有密码验证, 安全性一般(内网使用)

部署NFS

1、安装nfs服务
[root@nfs ~]# yum install nfs-utils rpcbind -y 安装nfs软件 2、关闭防火墙和selinux
[root@nfs ~]# setenfoce 0
[root@nfs ~]# systemctl stop firewalld 3、创建一个目录,用于存放文件的仓库
[root@nfs ~]# mkdir /data 4、创建一个系统用户,用于权限验证(权限验证时真正验证的时UID)
[root@nfs ~]# useradd www -r -M -s /sbin/nologin -u 995 5、修改NFS的配置文件(作用:指定NFS的仓库及权限)
NFS的配置文件:/etc/exports
格式:
[仓库地址] [可以访问的IP段](权限) [root@nfs data]# vim /etc/exports
[root@nfs data]# cat /etc/exports
/data 172.16.1.0/20(rw,all_squash,sync) 6、启动NFS服务
[root@nfs ~]# systemctl start nfs-server rpcbind 7、查看NFS的挂载点是否设置成功
# 查看指定服务器的挂载点
[root@nfs data]# showmount -e 172.16.1.31 # 查看本机的挂载点
[root@nfs data]# showmount -e 8、给服务端设置权限
[root@nfs ~]# chown nfsnobody.nfsnobody /data/ 9、挂载使用(客户端必须安装nfs-utils)
[root@web01 ~]# yum install nfs-utils -y
[root@web01 ~]# mount -t nfs 172.16.1.31:/data /opt
[root@web01 ~]# df -h # 查看挂载 注:要是想跟换用户
[root@nfs data]# vim /etc/exports
/data 172.16.1.0/20(rw,all_squash,sync,anonuid=995,anongid=995)
[root@nfs ~]# systemctl start nfs-server rpcbind
[root@nfs ~]# chown -R meng.meng /data/

NFS权限参数

控制NFS读写权限:
rw 读写权限 (常用)
ro 只读权限 (不常用) 控制访问NFS时,NFS基于的权限:
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户 (不常用)
no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员 (不常用)
all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户 (常用)
no_all_squash 无论NFS客户端使用什么账户访问,都不进行压缩 (不常用) 控制NFS同步方式:
sync 同时将数据写入到内存与硬盘中,保证不丢失数据 (常用),但是会产生延时
async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据 (不常用) 控制默认的用户(非必须):
anonuid 配置all_squash使用,指定NFS的用户UID,必须存在系统 (常用)
anongid 配置all_squash使用,指定NFS的用户UID,必须存在系统 (常用)

NFS案例

1、安装web服务软件
[root@web01 ~]# yum install -y httpd php 2、上传代码
[root@web01 ~]# cd /var/www/html
[root@web01 html]# vim index.php
<?php
phpinfo(); 3、开启web服务
[root@web01 html]# systemctl start httpd

案例1

案例:将nfs中的图片,共享到web01上来访问
1、将图片上传至NFS服务器
[root@nfs data]# ll
total 28
-rw-r--r-- 1 root root 26724 Oct 20 20:19 1.png 2、将NFS挂载到web网站对应目录
[root@web01 html]# mkdir img
[root@web01 html]# mount -t nfs 172.16.1.31:/data /var/www/html/img/ 3、上传代码
[root@web01 html]# vim index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<img src="./img/1.png" alt="">
</body>
</html> 4、查看浏览器

案例2:

7、案例(注意:关闭selinux   setenforce 0)

1、安装web服务软件

	[root@web02 ~]# yum install httpd php -y

2、上传代码

3、将代码复制到网站根目录(/var/www/html)
[root@web02 kaoshi]# cp -r ./* /var/www/html/ 4、开启web服务
[root@web02 html]# cd /var/www/html
[root@web02 html]# systemctl start httpd 5、统一用户
1、创建用户
[root@web02 html]# useradd www -r -M -s /sbin/nologin -u 996 2、修改httpd的启动用户
[root@web02 ~]# vi /etc/httpd/conf/httpd.conf
User www
Group www 3、重启WEB服务软件
[root@web02 ~]# systemctl restart httpd 4、修改站点目录的用户
[root@web02 ~]# chown -R www.www /var/www/html 5、关闭selinux
[root@web02 ~]#setenforce 0 6、上传的文件共享至web01中
[root@web02 html]# yum install nfs-utils -y
[root@web02 html]# mount -t nfs 172.16.1.31:/data /var/www/html/upload
[root@web02 html]# mount -t nfs 172.16.1.31:/data /var/www/html/img/

day03 部署NFS服务的更多相关文章

  1. LINUX 系统下部署 NFS服务

    NFS服务 NFS,是Network File System的简写,即网络文件系统.也被称为NFS: NFS允许一个系统在网络上与他人共享目录和文件. NFS通常运行于2049端口. 部署NFS 前提 ...

  2. ubuntu14.04 部署nfs服务

    安装nfs服务 apt-get install nfs-kernel-server 修改配置文件,共享目录为/var/www,*号可替换为客户端IP地址,*默认为任何部署了nfs客户端的IP可以挂载该 ...

  3. Linux部署NFS服务共享文件

    NFS(网络文件系统)用于linux共享文件 第1步:配置所需要的环境 使用两台Linux主机 主机名称 操作系统 IP地址 NFS Centos7 192.168.218.139 NFSa Cent ...

  4. CentOS7 部署nfs服务

    参考博客 参考博客 https://blog.51cto.com/addam/1576144 错误1: 客户端挂载nfs报错mount: wrong fs type, bad option, bad ...

  5. NFS服务搭建与配置

    启动NFS SERVER之前,首先要启动RPC服务(CentOS5.8下为portmap服务,CentOS6.6下为rpcbind服务,下同),否则NFS SERVER就无法向RPC服务注册了.另外, ...

  6. nfs服务部署记录

    一.概念介绍NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作系统能 ...

  7. NFS服务部署

      NFS介绍 NFS基本概述 NFS(Network File System)网络文件系统主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录.NFS系统和Windows网络共享.网络驱动器 ...

  8. 使用URLOS在linux系统中极速部署NFS共享存储服务

    如何在linux系统里搭建NFS服务?其实我们只需要安装一个URLOS面板,然后就能在3分钟内将NFS服务部署完成.近日,URLOS在应用市场中上架了一款NFS应用,它可以让我们的节点主机在3分钟内极 ...

  9. Linux NFS 服务部署

    系统环境:Oracle Linux 5.7 服务端:192.168.1.111 客户端:192.168.1.171 一.服务端配置 二.客户端配置 一.服务端配置 1.依次启动portmap和nfs服 ...

随机推荐

  1. 这一次,解决Flutter Dialog的各种痛点!

    前言 Q:你一生中闻过最臭的东西,是什么? A:我那早已腐烂的梦. 兄弟萌!!!我又来了! 这次,我能自信的对大家说:我终于给大家带了一个,能真正帮助大家解决诸多坑比场景的pub包! 将之前的flut ...

  2. SpringCloud微服务实战——搭建企业级开发框架(十三):OpenFeign+Ribbon实现高可用重试机制

      Spring Cloud OpenFeign 默认是使用Ribbon实现负载均衡和重试机制的,虽然Feign有自己的重试机制,但该功能在Spring Cloud OpenFeign基本用不上,除非 ...

  3. Django 开发------django-crontab实现服务端的定时任务

    一.需求: 想实现类似 Linux 中crontab 的功能.定时执行计划任务. 二.配置: a.安装插件: # pip3 install django-crontab b.在settings.py ...

  4. openssh 7.4 升级 8.3

    1.删除旧版本(如果是远程连接升级,不能卸载旧版本,否则连接会断开.安装8.3完也不能卸载7.4,否则要到服务器直连重新安装8.3.) # rpm -qa |grep openssh #rpm -e ...

  5. python编程中的流程控制

    内容概要 成员运算 身份运算 流程控制 详细 1.成员运算 定义:判断某个个体在不在某个群体内 关键词:in(在) /// not in(不在) 例: num_list = [1, 2, 3, 4, ...

  6. 计算机网络漫谈之IP数据包

    网络层从 网络层 .IP与子网掩码 前前后后我们也说了两次了,IP 这个东西絮絮叨叨的也一直在提.今天我们来解开IP协议的面纱,还记得我们之前在数据链路层说的物理帧的结构吗?就是这样: 其中Head叫 ...

  7. Kioskcached(2) 之 使用tcmalloc 替换 ptmalloc

    前言 我在 Kioskcached(1)之 Memcached & Redis & Kioskcached 性能测试对比 中找到的一个问题是 malloc,对于一个内存型数据库,很容易 ...

  8. Python之模块导入(不看会后悔系列)

    看到这个标题猜想大家内心OS: 什么辣鸡水文,划走划走~ 别急有干货! 静态导入(照顾新人) 假设现在有两个文件a,b在不同目录,b文件想引用a文件中的函数: # test_module/sub_mo ...

  9. Unicode、UTF-8、UTF-16 终于懂了

    计算机起源于美国,上个世纪,他们对英语字符与二进制位之间的关系做了统一规定,并制定了一套字符编码规则,这套编码规则被称为ASCII编码 ASCII 编码一共定义了128个字符的编码规则,用七位二进制表 ...

  10. 删除html标签,取其中的文本

    public String removeHtmlTags() { String str = "<p><b> welcome to test</b>< ...