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

2024年7月22日(nfs samba)

一、webserver 服务器:作用是发布nginx的web项目
1、安装nginx(只下载不安装)

[root@web_server ~]# yum -y install --downloadonly --downloaddir=./soft/ nginx

2、配置一个本地的nginx仓库

[root@web_server ~]# yum -y install createrepo   用于创建本地仓库

3、使用createrepo生成仓库文件

[root@web_server ~]# createrepo ./soft/

4、soft目录中生成一个repodata目录检测soft目录中是否保存了一个repo文件

[root@web_server ~]# tree ./soft/

5、在/etc/yum.repos.d/新建一个repo文件,文件名字叫nginx

[root@web_server ~]# vim /etc/yum.repos.d/nginx.repo

6、建立缓存

[root@web_server ~]# yum clean all

[root@web_server ~]# yum makecache

7、安装nginx

[root@web_server ~]# yum -y install nginx

8、查看是否安装

[root@web_server ~]# rpm -qa | grep nginx
[root@web_server ~]# yum list installed | grep nginx

9、启动服务

[root@web_server ~]# which nginx
/usr/sbin/nginx

[root@web_server ~]# nginx

10、检测服务是否启动

[root@web_server ~]# netstat -lnput | grep nginx
[root@web_server ~]# ps -aux | grep nginx

11、远程访问

12、向web页面中添加图片和视频
(1)上传图片和视频 到 /usr/bin/nginx/html/中

        在本地物理机上使用scp上传

(2)检测文件是否已经存在

[root@web_server ~]# ls /usr/share/nginx/html/

13、修改/usr/share/nignx/html/index.html

[root@web_server ~]# vim /usr/share/nginx/html/index.html   (153行)

14、访问web服务器

15、静态文件和动态文件没有区分

静态文件:需要在客户端运行的文件,html css js img mp4 安装包不需要在服务器中解析,需要用户下载到客户端,例如html文件要求用户下载到本地内存,使用本地浏览器解析并显示

动态文件:需要服务器先进行计算,再响应给客户端的内容,例如,登录(用户使用浏览器向服务器发送登录信息账户等,服务器对用户信息进行计算,服务器访问数据库,判断是否可以登录,将计算结果生成json或者html格式的数据响应给客户端的浏览器)。

由于用户更多的访问静态文件,而动态的访问可能不是很频繁,或者说数据传输量不是很大,静态文件的流量大,动态数据流量较小,开发者不希望动态项目和动态项目部署在同一个服务器上,静态的访问静态服务,动态访问动态的服务器。

以前部署一个jsp项目就可以了,现在需要前端服务,还要部署后端服务,前端服务器加大流量,后端服务器增加CPU,更加节省资源。

nfs提供了解决方案,将静态资源单独放置在一个服务器中,nfs主要支持局域网,目前使用aliyun或者其他的云服务 oss(对象存储服务 阿里云oss永久免费的40G使用)。

16、检查是否已经安装了应用 nfs-tools rpcbind

[root@web_server ~]# rpm -qa | grep nfs
[root@web_server ~]# rpm -qa | grep rpc

17、下载安装

[root@web_server ~]# yum -y install nfs-utils.x86_64 rpcbind.x86_64

二、nfs_server
1、下载安装nfs-utils.x86_64 rpcbind.x86_64

[root@nfs_server ~]# yum -y install nfs-utils.x86_64 rpcbind.x86_64

2、编辑配置文件/etc/exposts 指定暴露的文件
(1)创建一个目录

[root@nfs_server ~]# mkdir /share
[root@nfs_server ~]# touch /share/passwd
[root@nfs_server ~]# tree /share/
/share/
└── passwd

[root@nfs_server ~]# scp root@192.168.8.142:/usr/share/nginx/html/1.jpg /share/

[root@nfs_server ~]# scp root@192.168.8.142:/usr/share/nginx/html/2.mp4 /share/

(2)修改配置文件

[root@nfs_server ~]# vim /etc/exports

(3)启动rpcbind服务,nfs服务

[root@nfs_server ~]# systemctl start rpcbind.service 
[root@nfs_server ~]# systemctl start nfs

(4)查看端口占用情况(rpc服务的端口号是111)

[root@nfs_server ~]# netstat -lnput | grep 111

三、启动成功后在web_server测试
1、创建一个目录,/usr/share/nginx/html/static/这个目录用来挂载nfs服务器的数据

[root@web_server ~]# mkdir /usr/share/nginx/html/static

2、挂载nfs_server的文件

[root@web_server ~]# mount -t nfs 192.168.8.144:/share /usr/    (nfs机器的IP地址)
share/nginx/html/static/

[root@web_server ~]# ls /usr/share/nginx/html/static/    可以看到nfs服务共享的数据,这个数据是链接,不是真实的文件,和rsync的数据不同
 

3、web_server服务器,修改index.html,从static目录中引用图片和视频

[root@web_server ~]# vim /usr/share/nginx/html/index.html 

 

4、向share目录中添加数据

[root@nfs_server ~]# echo "呜呜呜呜,今天才周一" >  /share/a.txt

5、在web_server中查看mount 挂载的static目录

[root@web_server ~]# ls -l /usr/share/nginx/html/static/

(1)浏览器访问

6、测试在static目录中添加文件,看nfs_server服务器中的文件是否会更新

[root@web_server ~]# touch /usr/share/nginx/html/static/b.txt

7、备份scp cp rsync

当nfs 的share目录中的文件发生改变的时候,备份到backupserver主机中

备份是复制一份文件,共享是获取文件链接

(1)克隆一个备份主机backuphost
(2)停用防火墙和selinux

[root@backuphost ~]# systemctl stop firewalld

[root@backuphost ~]# setenforce 0

(3)支持rsync备份同步,安装rsync,backuphost,nfs_server主机都要安装

[root@backuphost ~]# yum -y install rsync

[root@nfs_server ~]# yum -y install rsync

(4)在nfs主机上安装inotify-tools监听/share目录

[root@nfs_server ~]# yum -y install inotify-tools

(5)先同步一份到backuohost主机的tmp目录下

[root@nfs_server ~]# rsync -av /share/ root@192.168.8.141:/tmp/

(6)需要输入密码才会同步过去,为了自动化,设置免密

[root@nfs_server ~]# ssh-keygen

[root@nfs_server ~]# ssh-copy-id root@192.168.8.141   //将公钥字符串添加到对方的家目录的authorizer_key文件中,也可以使用scp将id_rsa.pub文件上传到backuphost主机,手动将文件中的·字符串复制到authorizer_key中。

[root@nfs_server ~]# rsync -av /share/ root@192.168.8.141:/tmp/

(7)backuphost主机创建/bakup

[root@backuphost ~]# mkdir /bakup

(8)nfs_server主机上创建一个脚本rn.sh

[root@nfs_server ~]# vim rn.sh


[root@nfs_server ~]# chmod +x rn.sh 
[root@nfs_server ~]# nohup ./rn.sh&

[root@nfs_server ~]# touch /share/ab.txt

[root@nfs_server ~]# cat nohup.out 

(8.1)在backuphost主机可以查看到备份文件

[root@backuphost ~]# cd /bakup/
[root@backuphost bakup]# ls

(9)脚本代码

#!/bin/bash

inotifywait /share -mrq -e modify,create,delete,move | while read events

do

        rsync -av --delete /share/ root@192.168.8.142:/backup/

        #也可以输入日志

done

四、samba文件共享
1、samba软件安装(服务器搭建)

在backuphost主机上安装samba

[root@backuphost ~]# yum -y install samba

[root@backuphost ~]# yum list installed | grep mb

2、了解samba配置文件

etc/samba/smb.conf

[global]  全局选项

workgroup = MYGROUP                 定义samba服务器所在的⼯作组

server string = Samba Server Version %v         smb服务的描述

log file = /var/log/samba/log.%m            ⽇志⽂件

max log size = 50                   ⽇志的最⼤⼤⼩KB  

security = user             认证模式:share匿名|user⽤户密 码|server外部服务器⽤户密码 passdb backend = tdbsam         密码格式

 load printers = yes         加载打印机

cups options = raw          打印机选项

[homes]                 局部选项(共享名称)

comment = Home Directories      描述

browseable = no      隐藏共享名称

writable = yes      可读可写

[printers]      共享名称

comment = All Printers       描述

path = /var/spool/samba  本地的共享⽬录

browseable = no  隐藏

guest ok = no -->   public = no  需要帐号和密码访问

writable = no  -->  read only =yes 不可写

printable = yes      打印选项

[share]

path = /dir1 guest ok = no

writable = yes

3、修改配置文件,实现samba共享

[root@backuphost ~]# vim /etc/samba/smb.conf

4、设置用户user01,samba认证123密码

[root@backuphost ~]# useradd user01
[root@backuphost ~]# smbpasswd -a user01

Window要访问bakup中的文件,使用user01 123

5、启动名称管理

[root@backuphost ~]# systemctl start nmb.service 
[root@backuphost ~]# systemctl start smb.service

6、安装客户端

[root@web_server ~]# yum -y install samba-client

7、基于linux实现文件共享

[root@web_server ~]# smbclient -L 192.168.8.141 -U user01
[root@web_server ~]# smbclient //192.168.8.141/smb_share -U user01

8、将smb挂载到Linux系统

[root@web_server ~]# yum -y install cifs-utils
[root@web_server ~]# mkdir aaa
[root@web_server ~]# mount.cifs -o user=user01,pass=123 //192.168.8.141/smb_share ~/aaa/
[root@web_server ~]# ls -l aaa/

相关文章:

2024年7月22日(nfs samba)

一、webserver 服务器:作用是发布nginx的web项目 1、安装nginx(只下载不安装) [rootweb_server ~]# yum -y install --downloadonly --downloaddir./soft/ nginx 2、配置一个本地的nginx仓库 [rootweb_server ~]# yum -y install createrepo…...

黑龙江网络安全等级保护测评策略概述

一、简介 黑龙江省网络安全等级保护测评策略是为了保障信息系统安全稳定运行,根据《网络安全法》和相关国家标准制定的综合性安全评估和加固过程。该策略不仅要求企业和机构明确自身信息系统的安全等级,还指导其实施相应的技术防护与管理措施&#xff0…...

笔记 7 :linux 011 注释,函 bread () , get_hash_table () , find_buffer ()

(57)接着介绍另一个读盘块的函数 bread,以及释放 bh 的函数 brelse( ): (58)因为 函数 get_blk()大量调用了其它函数,一版面列举不完,…...

vscode配置latex环境制作【文档、简历、resume】

vscode配置latex环境制作【文档、简历、resume】 1. 安装Tex Live及vscode插件 可以参考:vscode配置latex环境制作beamer ppt 2. 添加vscode配置文件 打开vscode,按下Ctrl Shift P打开搜索框,搜索Preference: Open User Settings (JSON…...

如何学习Spark:糙快猛的大数据之旅

作为一名大数据开发者,我深知学习Spark的重要性。今天,我想和大家分享一下我的Spark学习心得,希望能够帮助到正在学习或准备学习Spark的朋友们。 目录 Spark是什么?学习Spark的"糙快猛"之道1. 不要追求完美,在实践中学习2. 利用大模型作为24小时助教3. 根据自己的节…...

交换机(Switches)和桥(Bridges)的区别

交换机(Switches)和桥接器(Bridges)在网络和通信领域中都起着重要作用,它们有一些共同点,但也有一些显著的区别: 工作层次: 桥接器(Bridges):桥接…...

基于springboot+vue的汽车租赁管理系统

摘要 在当今快速发展的数字化时代,汽车租赁行业作为现代服务业的重要组成部分,正面临着前所未有的机遇与挑战。为提升管理效率、优化用户体验并促进业务增长,我们设计并实现了一套基于Spring Boot后端框架与Vue.js前端技术的汽车租赁管理系统…...

《0基础》学习Python——第二十二讲__网络爬虫/<5>爬取豆瓣电影封面图

一、爬取豆瓣电影的图片封面 1、经过上节课我们所爬取的豆瓣电影的电影名、年份、国家、导演、主演、剧情,那么接下来我们将学习如何去爬取这些电影的图片,并将这些图片存放在文件夹中。 2、过程实现: 2.1、获取网页源码 首先还是和爬取电影名…...

全新UI自助图文打印系统小程序源码/自助云打印机前后端源码

全新UI自助图文打印系统小程序源码,自助云打印机前后端源码。最新的自助图文打印系统和证件照云打印小程序源码采用了PHP作为后端开发语言,旨在为用户提供全面的自助打印服务。 这些服务覆盖了多种文件格式,包括文档、图片、表格等。除此之外…...

yolo5图片视频、摄像头推理demo

yolo5图片、视频推理demo 图片 import torch# 加载预训练模型 model torch.hub.load(./yolo5, custom, pathyolov5s.pt, sourcelocal)# 加载图片 img 1.jpg# 进行推理 results model(img)# 解析结果 detections results.xyxy[0].cpu().numpy() # [x1, y1, x2, y2, confid…...

Scala学习笔记19: 隐式转换和隐式参数

目录 第十九章 隐式转换和隐式参数1- 隐式转换1. 隐式准换函数: 施展魔法的咒语2. 隐式类: 为已有类型添加魔法3. 隐式转换规则: 魔法生效的条件4. 举例说明: 见证魔法的时刻5. 注意事项: 谨慎使用魔法 2. 隐式参数1. 语义: 隐藏在背后的参数2. 使用 隐式参数的方式2.1 隐式值:…...

用户登录安全是如何保证的?如何保证用户账号、密码安全?

1.HTTP协议直接传输密码(无加密) 前端 直接发送HTTP请求(无加密),攻击者可直接捕获网络包,看到下面的明文信息 因此,使用HTTP协议传输会直接暴露用户敏感信息。 2.HTTPS协议直接传输密码&…...

Java 写一个可以持续发送消息的socket服务端

前言 最近在学习flink, 为了模仿一个持续的无界的数据源, 所以需要一个可以持续发送消息的socket服务端. 先上效果图 效果图 socket服务端可以持续的发送消息, flink端是一个统计单词出现总数的消费端,效果图如下 源代码 flink的消费端就不展示了, 需要引入一些依赖和版本…...

Ubuntu2204搭建ceph17

Ceph 环境初始化搭建Ceph 本次实验基于VMware17 节点IPstorage01192.168.200.161storage01192.168.200.162storage01192.168.200.163 环境初始化 初始化基础环境,三节点执行 #!/bin/bash# 定义节点信息 NODES("192.168.200.161 storage01 root" "…...

Druid 面试题及答案整理,最新面试题

Druid连接池在项目中有哪些优势? 1、高性能: Druid连接池在性能方面进行了大量优化,可以快速回收和分配数据库连接,减少数据库访问延迟。 2、实时监控: 提供Druid Monitor监控功能,可以实时监控数据库访问性能和连接池状态,便于及时发现和解决问题。 3、扩展性强: 支持…...

数据库基础与安装MYSQL数据库

一、数据库管理系统DBMS 数据库技术是计算机科学的核心技术之一,具有完备的理论基础。使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据 1.可以结构化存储大量的数据信息,方便用户进行有效的检索和访问 2.可以…...

昇思25天学习打卡营第18天| DCGAN生成漫画头像

DCGAN,全称深度卷积对抗生成网络(Deep Convolutional Generative Adversarial Networks),是一种通过对抗训练生成图像的技术。它在判别器和生成器中都使用了卷积和转置卷积层。 训练分为两个部分:训练判别器和训练生成…...

【面试八股文】计算机操作系统

参考:大佬图解文章 → 小林coding 简介:之前在学习小林大佬的八股文时,摘录了一些个人认为比较重要的内容,方便后续自己复习。【持续更新ing ~💯】 注:加五角星标注的,是当前掌握不牢固的&…...

宝塔Wordpress 插件 Redis object cache 导致内存很高 80%以上的原因和解决

查看内存前X 使用以下命令查看前10,修改10数字即可查看前X ps aux | head -1;ps aux |grep -v PID |sort -rn -k 4 | head -10 查看cpu占用 查看前10 ps aux | head -1;ps aux |grep -v PID |sort -rn -k 3 | head -10 原因是 4GiB 内存的服务器,Redis会…...

node解析Excel中的考试题并实现在线做题功能

1、背景 最近公司安排业务技能考试,下发excel文件的题库,在excel里查看并不是很方便,就想着像学习驾考题目一样,一边看一边做,做完之后可以查看正确答案。 2、开始分析需求 题目格式如下图 需求比较简单,…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

【生成模型】视频生成论文调研

工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

c# 局部函数 定义、功能与示例

C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...

React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构

React 实战项目:微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇!在前 29 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...

node.js的初步学习

那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...