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 用于创建本地仓库

使用createrepo生成仓库文件

root@web_server \~# createrepo ./soft/

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

root@web_server \~# tree ./soft/

​编辑

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

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

​编辑

5、建立缓存

root@web_server \~# yum clean all

root@web_server \~# yum makecache

​下载nginx

启动并查看nginx

root@localhost \~# nginx

root@localhost \~# netstat -lnput | grep nginx

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1802/nginx: master

tcp6 0 0 :::80 :::* LISTEN 1802/nginx: master

root@localhost \~#

远程访问

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

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

修改/usr/bin/nginx/html/index.html

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

scp 路径 root@192.168.2.34:/usr/share/nginx/html/

上传图片和视频

静态文件和动态文件

需要客户单运行的文件,静态文件

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

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

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

以前部署一个jsp项目就可以了,现在可以需要前端服务,还需要部署后端服务

前端服务器加大流量,后端服务器增加算力

更加节省资源

nfs提供了解决方案,将静态资源单独的放在一个服务器中

nfs主要支持局域网,目前使用阿里云或者其他的云服务 oss(对象存储服务,阿里云oss有永久的40g使用)

nfs服务依赖的应用

nfs-toos rp crpcbind

安装nfs

root@localhost \~# yum -y install nfs-utils.x86_64 rpcbind.x86_64

nfs配置

nfs服务器:

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

创建一个目录

配置文件

root@nfs-server share# vim /etc/exports

root@nfs-server share# systemctl start rpcbind

root@nfs-server share# systemctl start nfs

/share *(rw,sync)

启动成功后,就可以在webserver查看了

rpc服务的端口号是11

web服务器:

创建一个目录,这个目录用来挂载nfs的文件

root@localhost \~# mkdir /usr/share/nginx/html/static

挂载nfsserver的文件

root@localhost \~# mount -t nfs 192.168.2.34:/share /usr/share/nginx/html/static

rsync同步,将文件复制一份

nfs拿到了一个文件的连接

nfs中的东西被同步过去了

小结:

1.创建了两个虚拟机

2.nfsserver配置静态文件共享

1.停用了防火墙和selinux

2.安装两个应用

rpcbind

nfs-utils

3.配置/etc/exports

/share *(rw,sync)

4.启动服务

systemctl start rpmbind

systemctlstart nfs

5.查看端口占用

netstat -lnput | grep 111

6.确定nfs服务区正常启动

3.webserver 发布web项目

1.停用防火墙和selinux

2.安装nginx

3.修改nginx默认的index.html,添加图片和视频

4.在nginx下的html目录中创建一个挂载目录static

mkdir /usr/share/nginx/html/static/

5.挂载nfs服务

mount -a nfs 192.168.2.34:/share/ /usr/share/nginx/html/static

6.查看挂载目录

7.文件的测试

在nfs目录添加东西,在浏览器会查看到

root@nfs-server share# echo "我是最厉害的" > /share/a.txt

访问:192.168.2.35/static/a.txt

测试在ststic目录中添加文件,看看nfsserver服务器中的文件是否会更新

备份 scp cp rsync

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

bakerver克隆

10分钟 inotify-tools rsync nohup &

备份静态文件

1.克隆一个备份主机,bakuphost

2.停用selinux和firewalld

root@bakserver \~# systemctl stop firewalld

root@bakserver \~# setenforce 0

3.支持rsync备份同步,安装rsync,bakuphost nfssever两台主机上都应该安装

两台机器都需要安装

root@bakserver \~# yum -y install rsync

root@nfs-server share# yum -y install rsync

root@nfs-server share# yum -y install inotify-tools

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

root@nfs-server share# rsync -av /share/ root@192.168.2.36:/tmp/

5.先同步一份文件到bakup主机的tmp目录下

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

1.ssh-keygen

2.ssh-copy-id root@192.168.2.36

3.测试

7.bakuphost主机上创建/bakup目录

8.在nfsserver上创建一个脚本rn.sh

9.脚本的代码

#!/bin/bash

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

do

rsync -av --delete /share/ root@192.168.2.36:/bakup/

#也可以输出日志

done

10.给 添加x权限,执行脚本

SAMBA

在bakuphost主机上安装samba

root@bakserver \~# yum -y install samba

修改samba的配置文件 /etc//etc/samba/smb.conf

root@bakserver \~# vim /etc/samba/smb.conf

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

root@bakserver \~# useradd user01

root@bakserver \~# smbpasswd -a user01

New SMB password:

Retype new SMB password:

Added user user01.

windows访问bakup中的数据,必须用user01 123

启动名称管理面

root@bakserver \~# systemctl start nmb.service

root@bakserver \~# systemctl start smb.service

为共享文件添加写权限

setfacl -m u:user01:rwx /bakup/

执行完成以后,在windows中可以直接读写

打开一台新机器,安装客户端

root@localhost \~# yum -y install samba-client

root@localhost \~# smbclient -L 192.168.2.36 -U user01

root@localhost \~# smbclient //192.168.2.36/smb_share -U user01

root@localhost \~# yum -y install cifs-utils

root@localhost \~# mount.cifs -o user=user01,pass=123 //192.168.2.36/smb_share

~/aaa/

相关推荐
万联WANFLOW29 分钟前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
SkyWalking中文站3 小时前
认识 Horizon UI · AI Assistant:用日常语言查询你的可观测性数据
运维·监控·自动化运维
艾莉丝努力练剑3 小时前
OpenCode AI 编程:Ubuntu 24.04 环境安装与使用指南
linux·服务器·网络·人工智能·tcp/ip·ubuntu
崇山峻岭之间4 小时前
Keil5输出hex转换为bin的设置
linux·运维·服务器
Hoxy.R4 小时前
KingbaseES读写分离高可用集群扩容、备库重建与故障切换实战
运维·数据库
谷雪_6584 小时前
Linux 网络命名空间:从内核原理到企业级容器网络架构全景实战
linux·网络·架构
qq_163135755 小时前
Linux 【03- chgrp命令超详细教程】
linux
CodeStats6 小时前
【编程语言】深度梳理C/C++、Java、Python、Go、Rust的区别
java·linux·c语言·c++·python·rust·go
考虑考虑6 小时前
nginx配置ssl
运维·后端·nginx
我会尽全力 乐观而坚强6 小时前
MySQL库与表的操作
linux·数据库·mysql