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/

相关推荐
矛取矛求2 小时前
Linux如何更优质调节系统性能
linux
内核程序员kevin3 小时前
在Linux环境下使用Docker打包和发布.NET程序并配合MySQL部署
linux·mysql·docker·.net
kayotin4 小时前
Wordpress博客配置2024
linux·mysql·docker
Ztiddler4 小时前
【Linux Shell命令-不定期更新】
linux·运维·服务器·ssh
小小不董5 小时前
Oracle OCP认证考试考点详解082系列16
linux·运维·服务器·数据库·oracle·dba
IPdodo全球网络5 小时前
如何利用静态住宅IP优化Facebook商城的网络稳定性与运营效率
运维·服务器
a1denzzz5 小时前
Linux系统的网络设置
linux·服务器·网络
运维&陈同学5 小时前
【模块一】kubernetes容器编排进阶实战之k8s基础概念
运维·docker·云原生·容器·kubernetes·云计算
ac.char6 小时前
在CentOS下安装RabbitMQ
linux·centos·rabbitmq
m0_519523106 小时前
Linux——简单认识vim、gcc以及make/Makefile
linux·运维·vim