2024.7.22(nfs、samba)

news2024/12/23 23:07:58
一、web_server作用是发布nginx的web项目
1、停用selinux关闭防火墙

[root@nfs_server ~]# setenforce 0
[root@nfs_server ~]# vim /etc/selinux/config 
[root@nfs_server ~]# systemctl stop firewalld
[root@nfs_server ~]# systemctl disable firewalld

2、安装nginx

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

3、创建本地仓库,安装createrepo

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

4、使用createrepo生成仓库文件

soft目录中生成一个repodata目录

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

5、检测soft目录中是否存在repodata目录

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

6、在/etc/yum.repos.d新建一个repo文件

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

[root@web_server ~]# yum clean all
[root@web_server ~]# yum makecache

7、完成安装nginx

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

8、找到nginx的资源文件,查看是否安装

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

[root@web_server ~]# rpm -ql nginx
/etc/nginx/nginx.conf

目前不需要修改,只需要发布一个简单的项目

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

9、启动服务

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

[root@web_server ~]# nginx

10、检查服务是否启动

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

11、远程访问

12、向web页面中添加图片和视频

上传图片和视频/usr/bin/nginx/html/中

12.1 在物理主机上使用scp上传

12.2 检查虚拟机中/usr/share/nginx/html/中文件

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

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

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

14、访问web浏览器

15、静态文件和动态文件

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

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

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

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

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

nsf服务依赖应用:nfs-tools      rpcbind

16、检查是否安装了以上应用

[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

18、

[root@web_server ~]# rpm -ql nfs-utils

二、nfs_server
1、安装

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

2、编辑配置文件  /etc/exports  指定要暴露的文件

创建一个目录

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

3、上传图片视频

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

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

[root@nfs_server ~]# tree /share/
/share/
├── 1.jpg
├── 2.mp4
└── passwd

4、修改配置文件

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

5、启动rpcbind服务

[root@nfs_server ~]# systemctl start rpcbind

6、启动nfs

[root@nfs_server ~]# systemctl start nfs

三、启动成功后在web_server中测试(搭建WEB服务)
1、创建目录,用来挂载nfs服务器的数据

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

2、挂载nfs server文件

[root@web_server ~]# mount -t nfs 192.168.8.132:/share /usr/share/nginx/html/static/
[root@web_server ~]# ls /usr/share/nginx/html/static/    查看挂载目录,在web_server中看到的nfs服务共享的数据,这个数据是链接,不是真实的文件,和rsync的数据不同

rsync同步是将文件复制一份,nfs是拿到了一个文件连接

3、查看端口占用

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

4、在web_server中修改index.html 从static目录中引用图片和视频

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

5、向share目录中添加数据
5.1 在nfs_server主机share目录添加数据

[root@nfs_server ~]# echo "钱钱钱" > /share/a.txt

5.2 在web_server主机查看mount挂载的static

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

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

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

7、备份 scp cp rsync

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

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

备份静态文件

7.1 克隆一个备份主机 bakuphost
7.2 停用selinx和firewalld

[root@backuphost ~]# vim /etc/selinux/config 
[root@backuphost ~]# setenforce 0

[root@backuphost ~]# systemctl stop firewalld

7.3 支持rsync备份同步 安装rsync,bakuphost nfs_server两台主机上都应该安装

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

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

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

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

7.5 先同步一份到bakuphost主机的tmp目录下

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

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

[root@nfs_server ~]# ssh-keygen

将公钥字符串添加对方家目录中的authorizer_key文件中

也可以使用scp将id_rsa.pub文件上传到bakehost主机,手工将文件中的字符串复制到authorizer_key中

[root@nfs_server ~]# ssh-copy-id root@192.168.8.133

7.7 bakhost主机上创建/bakup

[root@backuphost ~]# mkdir /backup

7.8 nfsserver上创建一个脚本rn.sh

[root@nfs_server ~]# vim rn.sh

7.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

7.10 添加x权限执行脚本

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

[root@nfs_server ~]# nohup ./rn.sh&
[root@nfs_server ~]# cat nohup.out

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

[root@backuphost ~]# ls /backup/

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

在backuphost主机上安装

[root@backuphost ~]# yum -y install samba
[root@backuphost ~]# yum list installed | grep mb
[root@backuphost ~]# rpm -ql samba

2、samba配置文件

/etc/samba/smb.conf

3、编辑配置文件,实现samba共享

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

 

4、创建用户user01加入samba认证123

[root@backuphost ~]# useradd user01
[root@backuphost ~]# smbpasswd -a user01  window要访问backup中的文件,使用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.133 -U user01
[root@web_server ~]# smbclient //192.168.8.133/smb_share -U user01   使⽤smbclient查看⽬录信息

8、将smba挂载到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.133/smb_share ~/aaa/

[root@web_server ~]# ls -l  aaa/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1942469.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

四、GD32 MCU 常见外设介绍 (4) EXTI 中断介绍

4.EXTI 中断介绍 EXTI(中断/事件控制器)包含多个相互独立的边沿检测电路并且能够向处理器内核产生中断请求或唤醒事件。 EXTI 有三种触发类型:上升沿触发、下降沿触发和任意沿触发。 EXTI中的每一个边沿检测电路都可以独立配置和屏蔽。 4.1.GD32 EXTI 外设原理简介…

Nginx Rewrite(企业网站架构部署与优化)

Nginx Rewrite介绍 本章结构 实验步骤; 先在服务器1上写三个location;且等级各不相同; 如下;先将之前的location注释掉,避免冲突; 重启服务后生效; 如果用户输入的域名后只加了一个/或/都没有…

深入浅出C语言指针(进阶篇)

深入浅出C语言指针(基础篇) 深入浅出C语言指针(进阶篇) 目录 引言 一、指针和数组 1.数组名的理解 2.指针访问数组 3.一维数组传参的本质 二、二级指针 1.二级指针的概念 2.二级指针的内存表示 3.二级指针的解引用 三、字符指针 1.指针指向单个字符 2.指针指向字…

JavaWeb(4)JavaScript入门2—— JS的对象和JSON

一、JS的对象 1.声明语法1 通过new Object()直接创建对象 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><ti…

Linux——vi和vim编辑器

目录 基本介绍 vi和vim常用的三种模式 vi和vim的常用快捷键 基本介绍 vi和vim常用的三种模式 vi和vim的常用快捷键 网上找的快捷键盘图

docker搭建ES 8.14 集群

参考&#xff1a;【docker搭建es8集群kibana】_docker 安装生产级 es 8.14 集群-CSDN博客 1、之前已搭建一台单机版的dockerES集群 参见 Elasticsearch docker 安装_docker 安装es8.14.3-CSDN博客 2、现在需要重新搭建为docker ES集群 准备新搭建3个点 一、准备工作 提前开…

txt格式单词导入有道词典生词本 (java代码方式)

txt格式单词导入有道词典生词本 (java代码方式) 首先要求txt文档里单词的格式&#xff0c;大概需要像这种&#xff1a; 每行是一个单词&#xff0c;格式为&#xff1a;英文单词空格词性单词意思。 注意 导出单词本的名字就是你 txt 文件的名字 我这里是 公共英语三级 单词本 …

WPF项目实战视频《二》(主要为prism框架)

14.prism框架知识&#xff08;1&#xff09; 使用在多个平台的MVVM框架 新建WPF项目prismDemo 项目中&#xff1a;工具-NuGet包管理&#xff1a;安装Prism.DryIoc框架 在git中能看Prism的结构和源代码&#xff1a;git链接地址 例如&#xff1a;Prism/src/Wpf/Prism.DryIoc.Wpf…

Linux中tomcat下载教程

一.安装tomcat 1.安装 EPEL 仓库&#xff1a; sudo yum install epel-release2.安装 Tomcat&#xff1a; sudo yum install tomcat3.启动 Tomcat 服务&#xff1a; sudo systemctl start tomcat4.启用 Tomcat 服务开机启动&#xff1a; sudo systemctl enable tomcat5.检查…

SpringCloud 环境工程搭建

SpringCloud 环境&工程搭建 文章目录 SpringCloud 环境&工程搭建1. SpringCloud介绍2. 服务拆分原则2.1 单一职责原则2.2 服务自治2.3 单向依赖2.4 服务拆分示例 3. 数据准备4. 工程搭建4.1 创建父工程4.2 创建子工程4.2.1 子项目-订单服务4.2.2 子项目-商品服务 4.3 完…

物联网专业创新人才培养体系的探索与实践

一、引言 随着物联网&#xff08;IoT&#xff09;技术的迅猛发展&#xff0c;物联网领域的人才需求日益增加。物联网技术作为新一轮信息技术革命的核心&#xff0c;已经渗透到社会生活的各个领域&#xff0c;对推动经济转型升级、提升国家竞争力具有重要意义。因此&#xff0c…

Redis 7.x 系列【26】集群模式动态扩容、动态缩容

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Redis 版本 7.2.5 源码地址&#xff1a;https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 动态扩容1.1 安装、启动1.2 加入新节点1.3 分配哈希槽1.4 加入从节点 2. 缩容2.1 删…

PHP场地预约共享茶室棋牌室小程序系统源码

&#x1f375;&#x1f3b2;【聚会新宠】场地预约神器&#xff0c;共享茶室棋牌室小程序大揭秘&#xff01;&#x1f389; &#x1f3e1;【开篇&#xff1a;告别繁琐&#xff0c;聚会新选择】&#x1f3e1; 还在为找不到合适的聚会场地而烦恼吗&#xff1f;想要一个既私密又舒…

python+onlyoffice+vue3项目实战20240722笔记,环境搭建和前后端基础代码

开发后端 先创建data目录,然后在data目录下创建一个test.docx测试文档。 后端代码: import json import req import api from api import middleware, PlainTextResponseasync def doc_callback(request):data = await api.req.get_json(request)print("callback ==…

微信小程序-CANVAS写入图片素材、文字等数据生成图片

微信小程序中&#xff0c;CANVAS写入图片素材、文字等数据生成图片&#xff0c;最终可将生成的 base64 格式图片保存至相册操作 Tips&#xff1a; 1、canvas 标签默认宽度 300px、高度 150px canvas 生成图片时&#xff0c;写入图片素材、文字等数据前&#xff0c;需要根据实…

git的一些使用技巧(git fetch 和 git pull的区别,git merge 和 git rebase的区别)

最近闲来无聊&#xff0c;虽然会使用git操作&#xff0c;但是 git fetch 和 git pull 的区别&#xff0c;git merge 和 git rebase的区别只是一知半解&#xff0c;稍微研究一下&#xff1b; git fetch 和 git pull 的区别 git fetch git fetch 是将远程仓库中的改动拉到本地…

鸿蒙仓颉语言【扩展Redis仓颉语言客户端】

2. 扩展Redis仓颉语言客户端 2.1 Redis命令处理模块的架构 Redis命令处理的架构图如下&#xff1a; RedisCommand类 Redis命令的实现类 包含以下成员&#xff1a; commandType: Redis命令的名称 commandArgs: Redis命令的参数列表 response: Redis命令的响应消息&#xff…

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(十)-无人机A2X服务

引言 3GPP TS 23.256 技术规范&#xff0c;主要定义了3GPP系统对无人机&#xff08;UAV&#xff09;的连接性、身份识别、跟踪及A2X&#xff08;Aircraft-to-Everything&#xff09;服务的支持。 3GPP TS 23.256 技术规范&#xff1a; 【免费】3GPPTS23.256技术报告-无人机系…

当当网数据采集:Scrapy框架的异步处理能力

在互联网数据采集领域&#xff0c;Scrapy框架以其强大的异步处理能力而著称。Scrapy利用了Python的异步网络请求库&#xff0c;如twisted&#xff0c;来实现高效的并发数据采集。本文将深入探讨Scrapy框架的异步处理能力&#xff0c;并展示如何在当当网数据采集项目中应用这一能…

npm 安装报错(已解决)+ 运行 “wue-cli-service”不是内部或外部命令,也不是可运行的程序(已解决)

首先先说一下我这个项目是3年前的一个项目了&#xff0c;中间也是经过了多个人的修改惨咋了布置多少个人的思想&#xff0c;这这道我手里直接npm都安装不上&#xff0c;在网上也查询了多种方法&#xff0c;终于是找到问题所在了 问题1&#xff1a; 先是npm i 报错在下面图片&…