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/