day03 部署NFS服务
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服务的更多相关文章
- LINUX 系统下部署 NFS服务
NFS服务 NFS,是Network File System的简写,即网络文件系统.也被称为NFS: NFS允许一个系统在网络上与他人共享目录和文件. NFS通常运行于2049端口. 部署NFS 前提 ...
- ubuntu14.04 部署nfs服务
安装nfs服务 apt-get install nfs-kernel-server 修改配置文件,共享目录为/var/www,*号可替换为客户端IP地址,*默认为任何部署了nfs客户端的IP可以挂载该 ...
- Linux部署NFS服务共享文件
NFS(网络文件系统)用于linux共享文件 第1步:配置所需要的环境 使用两台Linux主机 主机名称 操作系统 IP地址 NFS Centos7 192.168.218.139 NFSa Cent ...
- CentOS7 部署nfs服务
参考博客 参考博客 https://blog.51cto.com/addam/1576144 错误1: 客户端挂载nfs报错mount: wrong fs type, bad option, bad ...
- NFS服务搭建与配置
启动NFS SERVER之前,首先要启动RPC服务(CentOS5.8下为portmap服务,CentOS6.6下为rpcbind服务,下同),否则NFS SERVER就无法向RPC服务注册了.另外, ...
- nfs服务部署记录
一.概念介绍NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作系统能 ...
- NFS服务部署
NFS介绍 NFS基本概述 NFS(Network File System)网络文件系统主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录.NFS系统和Windows网络共享.网络驱动器 ...
- 使用URLOS在linux系统中极速部署NFS共享存储服务
如何在linux系统里搭建NFS服务?其实我们只需要安装一个URLOS面板,然后就能在3分钟内将NFS服务部署完成.近日,URLOS在应用市场中上架了一款NFS应用,它可以让我们的节点主机在3分钟内极 ...
- Linux NFS 服务部署
系统环境:Oracle Linux 5.7 服务端:192.168.1.111 客户端:192.168.1.171 一.服务端配置 二.客户端配置 一.服务端配置 1.依次启动portmap和nfs服 ...
随机推荐
- hdu 5084 HeHe (观察思考题)
题意: 给一个n行n列的矩阵M.这个矩阵M由2n-1数构成.分别是t1,t2,....t(2n-1). m个query.每个query形式:ri, ci. 第i个query的答案 ans[i]=E[( ...
- cf Learn from Life (简单贪心)
有N个人站在一楼.一个电梯最多承载K个人. 每个人都有一个想去的楼层.f[1]....f[N]. f[i]属于[2,2000] 从a层到b层需花费abs(a-b)秒. 问电梯送完所有人然后回到一楼至少 ...
- InnoDB存储引擎的锁
InnoDB存储引擎的锁 锁的类型 锁的类型包括: 1. 共享锁(S lock),允许事务读取一行数据 2. 排他锁(X lock),允许事务删除或更新一行数据 锁的兼容性a X S ...
- 计算机网络漫谈之OSI七层模型和TCP/IP四层模型
在 什么是网络? 中,你已经知道计算机网络是物理连接的"局域网"和工作于这个局域网上的"网络协议",并且我们的重心是网络协议.有关网络协议,按照目前的分层方式主 ...
- SpringBoot2.x异步任务EnableAsync
1.springboot启动类里面使用@EnableAsync注解开启异步功能 @EnableAsync public class Demo001Application { public static ...
- nio实现文件夹内容的监听
参考的博客 package com.jp.filemonitor; import java.io.IOException; import java.nio.file.FileSystems; impo ...
- 在同级路径下,SpringBoot两种类型的配置文件(.properties/.yml)同时存在时,配置优先级如何处理?
两类配置文件如果同时存在,若 key 相同则 properties 优先级高,若key不同则合并加载:
- Jquery的常用使用方法
1.获取单个checkbox选中项(三种写法)$("input:checkbox:checked").val()或者$("input:[type='checkbox']: ...
- SpringCloud 2020.0.4 系列之 Stream 消息出错重试 与 死信队列 的实现
1. 概述 老话说的好:出错不怕,怕的是出了错,却不去改正.如果屡次出错,无法改对,就先记下了,然后找援军解决. 言归正传,今天来聊一下 Stream 组件的 出错重试 和 死信队列. RabbitM ...
- springboot访问静态资源404
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...