在实际工作中,所有前端的同一组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
#zheng shared dir at time
/data 192.168.9.0/24(rw,sync,all_squash,anonuid=1111,anongid=1111)
[root@nfs01 data]# mkdir blog_nfs
[root@nfs01 data]# systemctl reload nfs
3)测试NFS挂载是否完成
[root@web02 ~]# showmount -e 192.168.9.6
Export list for 192.168.9.6:
/data 192.168.9.0/24
[root@web02 ~]# mount -t nfs 192.168.9.6:/data /mnt
[root@web02 ~]# ls /mnt
blog_nfs oldboy1.txt oldboy2.txt oldboy3.txt
[root@web02 ~]# scp -rp 2020 192.168.9.6:/data/blog_nfs/
[root@web02 blog_nfs]# mount -t nfs 192.168.9.6:/data/blog_nfs /application/nginx/html/blog/wp-content/uploads
# 测试成功后放入/etc/rc.local,或者放入/etc/fstab里实现开机自动挂载。
4)在NFS服务器上对共享目录重新授权
[root@nfs01 data]# chown -R nginx.nginx /data
5)打开网站添加图片进行测试,看数据是否迁移到了NFS存储里。
网友评论