当前位置: 首页 > ops >正文

NFS文件存储及论坛项目搭建(php)

文章目录

    • NFS文件存储
      • 一、概述
        • NFS工作原理
        • RPC与NFS通讯过程
      • 准备工作:
      • 配置
      • web1端设置
      • web2端设置

NFS文件存储

一、概述

NFS是Network File System的缩写,默认监听2049端口号。它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。

NFS工作原理

NFS服务端和客户端之间通过随机选择端口来传输数据,NFS服务端利用RPC协议与客户端进行沟通决定使用的随机端口,然后利用这个端口来传输数据,使用的随机端口通常小于1024。RPC协议用来统一管理NFS的随机端口,其使用的端口默认为111。

RPC与NFS通讯过程
  1. 首先服务器端启动RPC服务,并开启111端口
  2. 服务器端启动NFS服务,并向RPC注册端口信息
  3. 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
  4. 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
  5. 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。

准备工作:

准备3台:1台服务器,2台网站端
每台主机都安装mysql、nfs、php并且每台主机都需要关闭防火墙,关闭上下文。

#关闭防火墙
systemctl stop firewalld
#关闭上下文
setenforce 0
#安装mysql、nfs、php
[root@localhost mysql]# yum install -y nfs-utils nginx 
[root@localhost mysql]# yum install -y php-mysqlnd php php-fpm  
[root@localhost mysql]# yum install -y  mysql-server.x86_64 

配置

启动服务

systemctl start nfs-server.service
systemctl status nfs-server

创建目录

mkdir -p /home/data

//直接读取服务器上的 /etc/exports 配置文件(这是定义所有 NFS 共享的核心文件)。

vim /etc/exports/home/data      192.168.49.0/24(rw,sync,no_root_squash)

//管理 NFS 共享的导出。它的核心功能是 ​让对 /etc/exports 配置文件所做的修改立即生效,而无需重启 NFS 服务(如 nfs-server 或 nfs-kernel-server)。

[root@server home]# exportfs -arv

// ​查询一个 NFS(Network File System)服务器,列出该服务器当前导出的(共享出来的)文件系统目录。

[root@server data]# showmount -e
Export list for lnmp-server:
/data 192.168.49.0/24
[root@server data]# vim mysql_conn.php<?php$link =mysqli_connect('localhost','root','');if ($link) {echo "连接成功!";}else {echo "连接失败!";}mysqli_close($link);
?>

web1端设置

挂载
查看共享文件,将其挂载到nginx的默认网站根目录路径

[root@web1 ~]# showmount -e 192.168.49.154
Export list for 192.168.49.154:
/home/data 192.168.49.0/24

挂载

[root@lnmp-web1 ~]# mount 192.168.49.154:/home/data /usr/share/nginx/html/

重载

[root@web1 ~]# systemctl start php-fpm
[root@web1 ~]# systemctl restart nginx.service 
[root@web1 ~]# systemctl restart mysqld
[root@web1 ~]# systemctl restart php-fpm

web2端设置

挂载

[root@web2 ~]# showmount -e 192.168.49.154
Export list for 192.168.49.154:
/home/data 192.168.49.0/24
[root@web2 ~]# mount 192.168.49.154:/home/data /usr/share/nginx/html/

重载

[root@web2 ~]#  systemctl start php-fpm
[root@web2 ~]# systemctl restart nginx.service 
[root@web2 ~]# systemctl restart mysqld
[root@web2 ~]# systemctl restart php-fpm

验证
使用客户端访问web
![在这里插入图片描述](https://i-blog.csdnimg

http://www.xdnf.cn/news/15108.html

相关文章:

  • Web攻防-SSTI服务端模版注入利用分类语言引擎数据渲染项目工具挖掘思路
  • MCU芯片内部的ECC安全机制
  • OpenCV图像基本操作:读取、显示与保存
  • 《数据库》MySQL备份回复
  • AI加持的开源知识库新秀:PandaWiki,如何用它打造智能化文档系统?
  • 新作品:吃啥好呢 - 个性化美食推荐
  • [面试] 手写题-爬楼梯,斐波那契数列
  • 利用Claude code,只用文字版系统设计大纲,就能轻松实现系统~
  • Kafka——应该选择哪种Kafka?
  • 京东携手HarmonyOS SDK首发家电AR高精摆放功能
  • 【深度学习新浪潮】图像生成有哪些最新进展?
  • 光电耦合器在电冰箱开关电源的应用
  • pandas销售数据分析
  • Cesium实战:交互式多边形绘制与编辑功能完全指南(最终修复版)
  • 前端面试专栏-算法篇:23. 图结构与遍历算法
  • Java(7.11 设计模式学习)
  • python的社区残障人士服务系统
  • Grok 4全面解析:马斯克的多智能体AI如何颠覆技术边界
  • 格式规范公文处理助手:一键排版 标题 / 正文 / 页码一键调,Word 脚本自定义
  • 嵌入式学习笔记--MCU阶段--day03中断
  • 网安系列【16】之Weblogic和jboss漏洞
  • 二层环路避免-STP技术
  • Transformer架构:结构介绍
  • STM32F103C8T6单片机内部执行原理及启动流程详解
  • 使用Tensorflow和CNN进行猫狗图片训练的实战总结
  • 【CF】⭐Day96——2025武汉ICPC(AILF)
  • MyBatis插件机制揭秘:从拦截器开发到分页插件实战
  • 深度学习_全连接神经网络
  • 单片机基础(STM32-DAY2(GPIO))
  • 如何发现 Redis 中的 BigKey?