一、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 ~]# 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上传
2.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/