5、web博客用户上传的数据迁移到nfs服务器存储

将web服务用户上传的目录挂载到NFS服务器
为什么要做?方便以后多台服务器访问一样的内容等等
实践
1)统一NFS和web用户,关键是UID

[root@web02~]#id nginx 
 uid=1111(nginx)gid=1111(nginx)=1111(nginx)
 
[rootenfs01~]#grep 111/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和NES都要统一一个UID的用户,名称可以不一样,但是UID要一样

[root@nfs01 ~]#cat /var/lib/nfs/etab
/data	172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)

2)/etc/exports配置

[root@nfs01 ~]#vim /etc/exports
#CCTV shared dir at time
#/data 172.16.1.0/24(rw,sync) 10.0.0.0/24(ro)   #/16也行,工作中可以多个网段
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=1111,anongid=11111) #任何用户访问nfs共享目录,都会以1111的访问(默认的也行)

3)创建挂载目录

[root@nfs01 ~]#cd /data
[root@nfs01 ~]#mkdir -p /data/blog_nfs
[root@web02 ~]# umount /mnt  #我这里之前挂载过,所以卸载

4)注意事项

如我的wordpress博客图片网址
http://blog.etiantian.org/wp-content/uploads/2020/09/005BYqpggy1fwre4ud9oqj31hc0u0tkz-300x169.jpg

路径:/wp-content/uploads
[root@web02 /application/nginx/html/blog/wp-content/uploads]#pwd   
#以以下路径作为挂载点比较合适
/application/nginx/html/blog/wp-content/uploads

mount -t nfs 172.16.1.31:/data/blog_nfs /application/nginx/html/blog/wp-content/uploads
#不能直接挂载直接挂载web02的/applicstipn/nginx/html/blog/wp-content/uploads目录下的文件就没了
#卸载umount /application/nginx/html/blog/wp-content/uploads
解决方法:scp复制,推送
[root@web02 /application/nginx/html/blog/wp-content/uploads]#scp 2020 172.16.1.31:/data/blog_nfs/
#输入yes与用户密码
2020: not a regular file  #出错原因,此文件是一个目录
[root@web02 /application/nginx/html/blog/wp-content/uploads]#scp -rp 2020 172.16.1.31:/data/blog_nfs/  
#-p保留文件的最后修改时间,最后访问时间和权限模式;-q不显示复制进度;-r以递归方式复制

root@172.16.1.31's password: 
7.png                                                                       100%  374KB   。。。。

5)检查


[root@nfs01 /data/blog_nfs]#ls
2020
[root@nfs01 /data/blog_nfs/2020]#ll
drwxr-xr-x 2 root root 4096 929 18:08 09
drwxr-xr-x 2 root root    6 102 21:02 10

6)授权

#root模式,nginx用户处理不了,需要授权,给/data目录授权
[root@nfs01 ~]#chown -R nginx.nginx /data
[root@nfs01 ~]#ll /data
总用量 12
drwxr-xr-x 3 nginx nginx   18 102 21:12 blog_nfs
drwxr-xr-x 2 nginx nginx    6 96 18:34 Client
。。。。

7)mv备份

[root@web02 /application/nginx/html/blog/wp-content/uploads]#ls
2020
[root@web02 /application/nginx/html/blog/wp-content/uploads]#mv 2020 /opt
[root@web02 /application/nginx/html/blog/wp-content/uploads]#ls #什么也没有

8)挂载

[root@web02 ~]#mount -t nfs 172.16.1.31:/data/blog_nfs /application/nginx/html/blog/wp-content/uploads
[root@web02 ~]#df -h
文件系统                    容量  已用  可用 已用% 挂载点
172.16.1.31:/data/blog_nfs   19G  2.2G   17G   12% /application/nginx-1.18.0/html/blog/wp-content/uploads

9)查看挂载目录下的内容

[root@web02 ~]#cd /application/nginx-1.18.0/html/blog/wp-content/uploads
[root@web02 /application/nginx-1.18.0/html/blog/wp-content/uploads]#ls
2020
#这里没有东西就是博客wordpress没有写东西,刷新一下或者写个博客发布就有内容了

[root@web02 /application/nginx/html/blog/wp-content/uploads]#tree
.
└── 2020
    ├── 09
    │   ├── 005BYqpggy1fwre4ud9oqj31hc0u0tkz-1024x576.jpg
    │   ├── 005BYqpggy1fwre4ud9oqj31hc0u0tkz-150x150.jpg
    │   ├── 7-768x461.png
    │   └── 7.png
    └── 10

3 directories, 15 files
[root@web02 /application/nginx/html/blog/wp-content/uploads]#
测试NFS挂载OK

扩展:systemctl reload nfs #平滑重启

挂载点卸载之前
可以看见wordpress博客的图片,可看图片链接

挂载点卸载之后:(记得清除浏览器历史缓存)
[root@web02 ~]#umount /application/nginx/html/blog/wp-content/uploads
在这里插入图片描述
卸载挂载点
清除浏览器浏览数据就看不到照片了

我们写博客,我们上传、修改、删除图片对于服务器来说都是上传新的图片。


扩展:为了以后数据迁移方便,我们的备份服务器使用域名访问比较合理化。
这里我们的备份服务器域名为db01.etiantian.org,这样我们就不需要开发人员操作了,直接修改hosts文件即可。即服务器之间的访问用域名访问,以后数据迁移比较合理。
在这里插入图片描述

[root@web01 ~]#cat /etc/hosts
127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4
::1        localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
  2.16.1.8 web02
172.16.1.9 web03
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.51 db01 db0l.etiantian.org
172.16.1.61 m01
10.0.0.7 www.etiantian.org bbs.etiantian.org blog.etiantian.org etiantian.org

应用:
[root@web01 /application/nginx/html/blog]#vim wp-config.php
在这里插入图片描述

define( 'DB_NAME', 'wordpress' );
/** MySQL database username */
define( 'DB_USER', 'root' );
/** MySQL database password */
define( 'DB_PASSWORD', 'oldboy123' );

/** MySQL hostname */
define( 'DB_HOST', 'db0l.etiantian.org' );

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8mb4' );

/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tony带水!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值