记录一次站点搬家 静态资源分离到OSS等完整记录

客户需求

  • 阿里云上的站点搬家到新的腾讯云
  • 阿里云上discuz站点的图片附件挂载到阿里云的OSS上(使用ossutil通过内网上传,可以从2天的时间减少到半个小时完成上传)

实战教程

配置腾讯云环境

下载阿里云备份

  • 远程下载网站站点备份资料
图片[1]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

打包后建议重命名一下,否则如果有扫描器,很容易把我们整站的数据下载走

图片[2]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

然后在新的腾讯云创建对应的站点,并将上述压缩包进行远程进行下载

图片[3]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog
图片[4]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

这里下载速度有些慢,跟之前的服务器带宽有关系,如果你在转移很大存储的服务器时,你可以在阿里云后台选择临时升级带宽或者临时调整成流量模式。

图片[5]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

上述操作完成之后,进行解压缩,然后我们回到旧的阿里云服务器将刚才data文件里的部分资料进行打包

这里attachment和avatar我们要单独打包传到oss里

图片[6]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

打包好的其他文件按照前面的方法,继续下载到新的腾讯云服务器中站点的data目录中并解压缩,这里不再赘述。

  • 远程下载数据库备份资料

一般数据库备份有2种方法,可以在phpmyadmin中导出sql格式的文件,也可以直接打包带索引的源文件,我们这里选择后者,出错概率低一些。

首先,我们需要找到数据库存储的位置,宝塔面板一般默认在/www/server/data,但是这里可以看到,但是这里可以看到明显数据库的数量和后台显示的不一样。

图片[7]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog
图片[8]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

这说明客户存储的数据库位置不是宝塔默认的,我们可以前往软件商店>Mysql设置>存储位置

这里可以看到客户其实是以前wdcp的用户转的宝塔面板,然后数据库是放在wdcp面板默认的路径里了

图片[9]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

这里进入www/wdlinux/mysql-5.5.54/data将所有的数据库进行压缩,然后复制到阿里云服务器的网站根目录里,方便后面的远程下载。

图片[10]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

在新的腾讯云服务器上,进入www/server/data目录远程下载刚刚打包好的数据库文件

图片[11]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

上传OSS并配置nginx

新建Bucket目录

先创建Bucket目录

图片[12]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

设置域名

cdn后台,添加域名

图片[13]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

选择新增源站信息,这里添加OSS域名,找到我们创建的bucket域名

图片[14]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

然后进入cdn的域名管理,我们需要按照右侧的要去配置域名的CNAME解析

图片[15]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog
图片[16]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

然后如果你要使用https访问,我们需要配置一下证书,具体证书申请的步骤这里不再赘述了。

我们这里默认你已经会申请证书了,然后进入CDN后台,点击管理

图片[17]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

选择修改配置

图片[18]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog
图片[19]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

上传文件到OSS

我们需要在里面上传刚打包的attachment文件

我们这里客户图片和附件数据打包50多个GB,带宽就5-6MB,要手动下载大概要花20个小时的时间

图片[20]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

这里客户比较着急,我们尝试通过阿里云服务器下载ossutil工具,直接从服务器里上传到OSS(这样就省去了下载到本地,再上传到OSS的时间了)

wget http://gosspublic.alicdn.com/ossutil/1.7.7/ossutil64
chmod 755 ossutil64
图片[21]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

然后我们需要生成配置文件

./ossutil64 config

第一个配置文件路径和stsToken可以留空不填,其他变量按需填写

图片[22]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

配置完成后,开始上传目录(勘误:这里一开始少填了data在截图里有具体的错误,不过并不影响,大家在写命令的时候一定要注意哦!)

./ossutil64 cp -r /www/web/ddgbr_com/public_html/data/attachment oss://bbs-ddgbr/data/attachment

这里是通过阿里云内网ENDPOINT上传,速度可以达到20MB/S-45MB/S,原本我们需要花费1-2天时间,这里可能半个小时就能完成附件的转移

图片[23]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

这里大概花了40分钟,完成了50GB文件的迁移

图片[24]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

新的腾讯云服务器一些配置

https证书配置

先在网站管理>站点修改>SSL里申请Let’s Encrypt的https证书(当然你也可以去腾讯云申请一个1年的SSL证书,这个看个人习惯)

图片[25]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

nginx配置链接替换

配置文件里,我们需要使用sub_filter模块在nginx里替换内容,把网站的attachment路径的内容全部替换为OSS上的

    sub_filter_once off;
    sub_filter bbs.ddgbr.com/data/attachment static.ddgbr.com/data/attachment;
图片[26]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

数据库配置文件修改

这里一般要看我们搬家使用的系统有哪些数据库配置文件,针对于discuz主要有

  • config/config_global.php
  • config/config_ucenter.php
  • uc_server/data/config.inc.php

我们需要将里面的数据库账户和密码重新设置好,跟新的服务器里提供的密码一致即可。

这里简单讲解一下,我们刚才传好了数据库文件,现在需要点击从服务器获取

图片[27]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

然后,可以在这里设置新的密码

图片[28]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

然后分别填入上面的三个文件中对应位置,这里仅以config_global.php举例,其他的文件修改方法一致。

图片[29]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

修改域名解析

最后一步就是把域名解析到新的服务器上,然后就大功告成了!

如果你是懒人,可以使用泛域名解析,使用A类解析将*@解析到IP地址

图片[30]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog
图片[31]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

为了验证解析是否生效,可以ping一下

图片[32]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

如果IP地址还是之前的服务器,我们可以考虑使用ipconfig /flushdns重置一下dns或者重启电脑都可以。

Discuz远程附件上传到阿里云配置

下载ossftp,解压缩然后运行

图片[33]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

需要在宝塔后台将8192端口进行放行

图片[34]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

然后我们就可以访问了

图片[35]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

我们这里需要设置好Bucket endpoints

图片[36]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

进入阿里云OSS后台,找到我们的bucket目录。

如果你是阿里云的服务器,你可以选择内网节点,如果不是阿里云的服务器选择外网、或者加速传输域名。

图片[37]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

然后重启后配置生效

图片[38]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

但是关闭终端这个启动页就关掉了,因此我们需要通过宝塔的堡垒应用管理器

图片[39]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

在后台设置启动文件start.sh

图片[40]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog
图片[41]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog

同时设置远程附件

图片[42]-记录一次站点搬家 静态资源分离到OSS等完整记录-FancyPig's blog
© 版权声明
THE END
喜欢就支持一下吧
点赞51赞赏
分享
评论 共2条

请登录后发表评论

      • FancyPig的头像-FancyPig's blog
        FancyPig作者
        0