Skip to content

更换云服务器后需要做的事儿

数据迁移-更换云服务器后需要做的事儿

image-20241209173907674

目录

[toc]

背景

自己之前在阿里云买的ecs过6天就到期了,无语的是,最近一次扩容系统盘到100g,导致我没法使用每年99优惠价了,裂开。。。

因此,需要马上新找一台云服务器,来迁移数据。

重要的数据就是ecs里的md图床,docusaurus博客,其它没啥了。

其实过程非常简单,稍微配置下就OK了,欢迎大家交流。😜

等后续安稳一点了,决定利用nas来部署自己的业务,云服务器太贵了,来回切数据也麻烦。。。。

环境

bash
老服务器:云服务器ip新服务器:云服务器ipcentos7.9win10

1、部署Nginx

(1)安装nginx软件

bash
#vim /etc/yum.repos.d/nginx.repo[nginx]name=nginxrepobaseurl=https:gpgcheck=0enabled=1yuminstallnginx-ysystemctlstartnginxsystemctlenablenginxsystemctlstatusnginx

(2)拷贝源服务器nginx配置文件到新服务器

bash
#/etc/nginx/conf.d/ 下所有内容#/etc/nginx/cert2 公钥/私钥#新服务器上mkdir-p/etc/nginx/cert2#ssl目录mkdir/images#图床目录#配置权限为root(必须配置,否则ngix报403错误,淦,这个坑了我好久时间。。。)#vim /etc/nginx/nginx.confuserroot;#老服务器上:复制nginx配置文件及sslcd/etc/nginx/conf.d/scp*root@云服务器ip:/etc/nginx/conf.dcd/etc/nginx/cert2scp*root@云服务器ip:/etc/nginx/cert2#复制网站监控信息到mdscp/root/monitor.shroot@云服务器ip:/root#传输防盗链图片scp/FdangDaoLianImagesroot@云服务器ip:/rootnginx-t

2、部署rsync

(1)安装rsync

bash
# 如果没有安装的话,进行安装yuminstallrsync-y# 将 rsync 设置成开启自启,并启动systemctlenablersyncdsystemctlstartrsyncdsystemctlstatusrsyncd#新服务器上rm-rf/etc/rsyncd.conf#老服务器上scp/etc/rsyncd.confroot@云服务器ip:/etcscp/etc/rsyncd.passwdroot@云服务器ip:/etc#新服务器上systemctlrestartrsyncdsystemctlstatusrsyncd

(2)同步/images数据

bash
#(1)先把源服务器最新图床数据同步下来#云服务器-->本地:(不含delete)rsync.exe-avPzruh--port8730--password-file=/cygdrive/D/docusaurus/resource/shell/password.txtroot@47.100.215.163::cmi-MdImages//cygdrive/D/BaiduSyncdisk/backup/rsync_local/cmi-MdImages-local#(2)从本地向新服务器同步图床数据(本地winodws往云服务器上同步,速度很快哦,6.2G数据,大概30min基本同步完了)#本地-->云服务器:(含delete)(这个推荐只执行一次,特别注意:有时推送时可能会卡主,我们多执行几次就好;6G的数据大概30min;)rsync.exe-avPzruh--delete--port8730--password-file=/cygdrive/D/docusaurus/resource/shell/password.txt/cygdrive/D/BaiduSyncdisk/backup/rsync_local/cmi-MdImages-localroot@云服务器ip::cmi-MdImages/#记得处理下cd/images/cmi-MdImages-localmv*/images/cd/images/rm-rfcmi-MdImages-local#最新linux-->winodwsrsync.exe-avPzruh--port8730--password-file=/cygdrive/D/docusaurus/resource/shell/password.txtroot@云服务器ip::cmi-MdImages//cygdrive/D/BaiduSyncdisk/backup/rsync_local/cmi-MdImages-local##说明:`--delete`:删除目标目录中不在源中存在的文件和目录。

3、更新cdn配置

域名解析保持不变:

image-20241209173526665

这里只配置下cdn就好:

image-20241209173549062

image-20241209173603382

image-20241209173618055

4、更新项目信息

(1)拉取 home3.0项目

bash
yuminstall-ygitcd/rootgitclonehttps:ls/root/home3.0

(2)推送本地docusaurus静态文件

bash
mkdir-p/root/rsync/rsync-docusaurus#推送数据rsync.exe-avPzruh--delete--port8730--password-file=/cygdrive/D/docusaurus/resource/shell/password.txt/cygdrive/D/docusaurus/buildroot@云服务器ip::cmi-docusaurus/

(3)利用vscode来替换本地docusaurus里原来ecs ip

image-20241209181120215

image-20241209181146050

win里的vscode这里记得做对新服务器的免密:

bash
##win10和ecs做免密,方便本地win10 脚本执行相关命令:ssh-keygenssh-copy-id-i~/.ssh/id_ed25519.pubroot@云服务器ip##输入ecs密码sshroot@云服务器ipdate

5、配置docus Algolia搜索

部署docker

bash
#初始环境systemctlstopfirewalldsystemctldisablefirewalldsystemctlstopNetworkManagersystemctldisableNetworkManagersetenforce0sed-is/SELINUX=enforcing/SELINUX=disabled//etc/selinux/configyuminstall-ynet-toolsyuminstall-yvimyuminstall-ywgetyuminstall-ylrzszyumcleanallyummakecacheyumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engineyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2yum-config-manager--add-repohttp:yummakecache#yum install docker-ce -yyuminstall-yyuminstalldocker-ce-19.03.9docker-ce-cli-19.03.9containerd.io#指定需要安装的版本号systemctlstartdocker&&systemctlenabledockerdockerversiondockerinfosudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<<EOF{"registry-mirrors":["https:"https:"https:"https:"https:"https:]}EOFcat/proc/sys/net/ipv4/ip_forwardecho"net.ipv4.ip_forward =1">>/etc/sysctl.confsysctl-pcat/proc/sys/net/ipv4/ip_forwardsystemctldaemon-reloadsystemctlrestartdocker
  • 部署docusaurus aligo搜索
bash
#新服务器安装服务yuminstall-yepel-releaseyuminstall-yjq#从老服务器上拷贝数据[root@docusaurus-wiki ~]#scp -r /root/Algolia/ root@云服务器ip:/root#下载镜像dockerpulluhub.service.ucloud.cn/onedayxyy/docsearch-scraper:latestdockertaguhub.service.ucloud.cn/onedayxyy/docsearch-scraper:latestalgolia/docsearch-scraper:latest#执行cd/root/Algolia/#docker run -it --env-file=.env -e "CONFIG=$(cat docsearch.json |jq -r tostring)"algolia/docsearch-scraper#crontab -e01,7,13,19***/root/Algolia/docker.sh>>/var/log/crontab.log2>&1

部署docker-copmose

bash
mvdocker-compose-linux-x86_64/usr/local/bin/docker-composechmod+x/usr/local/bin/docker-compose#添加执行权限docker-compose--version

验证

https:t="1711730357270" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4392" width="16" height="16" >打赏支持