自学内容网 自学内容网

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/


原文地址:https://blog.csdn.net/m0_70750601/article/details/140600439

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!