在实际工作中,所有前端的同一组LNMP动态服务器都是共享后端同一个共享存储的,即需要把用户上传的所有文件数据目录都迁移至共享存储NFS里,同时,将这些目录都挂载到NFS共享存储上,本地的服务器只存放程序员开发的代码文件等。整个部署过程如下:
#1)实践:统一NFS和Web用户,关键是UID。
#Web服务器操作。
[root@web02~]# id nginx
uid=1111(nginx) gid=1111(nginx) 组=1111(nginx)
#NFS服务器操作。
[root@nfs01~]# grep 1111 /etc/passwd
[root@nfs01~]# useradd nginx -u 1111-s /sbin/nologin -M
[root@nfs01~]# grep 1111 /etc/passwd
nginx:x:1111:1111::/home/nginx:/sbin/nologin
#强调:所有的WEB和NFS都要统一一个UID的用户
#2)新配置NFS。
[root@nfs01~]# cat /etc/exports
#oldboy shared dir at time
/data 172.16.1.0/24(rw, sync, all_squash, anonuid=1111, anongid=1111)
[root@nfs01~]# cd /data
[root@nfs01 /data]# mkdir blog_nfs
[root@nfs01~]# systemctl reload nfs
#3)测试NFS挂载是否完成。
[root@web02~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24
[root@web02~]# mount -t nfs 172.16.1.31:/data /mnt
[root@web02~]# ls /mnt
oldboy.txt oldgirl.txt
[root@web02~]# scp -rp 2019172.16.1.31:/data/blog_nfs/
[root@web02 ~]# mount -t nfs 172.16.1.31:/data/blog_nfs /application/nginx/html/blog/wp-content/uploads
#测试成功后放入/etc/rc.local,或者放入/etc/fstab里实现开机自动挂载。
#4)在NFS服务器上对共享目录重新授权。
[root@nfs01 /]# chown -R nginx.nginx /data
#5)打开网站添加图片进行测试,看数据是否迁移到了NFS存储里。
#6)查看之前安装sersync实时备份有没有生效
#查看sersync
[root@nfs ~]# ps -ef | grep sersync
root 3626 1 0 04:34 ? 00:00:00 /application/sersync2.5.4_64bit/sersync2 -d -r -o /application/sersync2.5.4_64bit/confxml.xml
#在rsync备份服务器查看备份目录,/backup有没有同步文件,正常情况在实验博客站点添加图片,会同步到nfs和rsync备份中
[root@backup ~]# tree /backup/
/backup/
└── blog_nfs
└── 2021
└── 06
├── image-1024x516.png
├── image-150x150.png
├── image-300x151.png
├── image-768x387.png
└── image.png
3 directories, 5 files