转移程序到新服务器
提示:迁移前,想使用宝塔面板的,可以提前在新服务器上安装一下宝塔面板。
注意事项
迁移顺序如下,且必须按照该步骤进行:
第一步、通过下面的方法将老服务器文件转移到新服务器,但先不要启动新服务器的程序
第二步、文件转移完毕后,在老服务器运行命令pm2 kill && pm2 unstartup,关闭老程序
第三步、前往授权操作台efvcms.com登录账号,绑定新服务器ip
第4步、启动新服务器程序即可
迁移原服务器数据文件
首先迁移前,先使用SSH
客户端登录到新服务器
,安装一下rsync
:
#CentOS系统
yum install rsync -y
#Debian、Ubuntu系统
apt install rsync -y
1、迁移程序源码文件夹
先使用SSH
客户端登录到新服务器
,按要求使用命令:
#迁移命令,且9999为旧服务器端口,自行修改
rsync -avu -e 'ssh -p 9999' root@192.168.0.1:/home/express-ffmpeg /home
参数说明:
192.168.0.1为旧服务器ip地址。
/home/express-ffmpeg为旧服务器程序源码绝对路径,该处根据实际情况自行修改。
/home为你要将源码迁移到新服务器的文件夹路径,该处根据实际情况自行修改,也可以默认。
期间会要求你输入旧服务器密码,如果遇到提示yes
/no
,输入yes
即可,由于切片大小、2
台服务器之间连接情况等影响,迁移时间可能会很长,挂机即可,直到结束。
2、迁移ffmpeg文件夹
先使用SSH
客户端登录到新服务器
,按要求使用命令:
#迁移命令,且9999为旧服务器SSH端口,后面192.168.0.1为旧服务器ip地址,自行修改;其它可以默认。
rsync -avu -e 'ssh -p 9999' root@192.168.0.1:/usr/local/ffmpeg /usr/local
期间会要求你输入旧服务器密码,如果遇到提示yes
/no
,输入yes
即可。
3、迁移mongodb文件夹
先使用SSH
客户端登录到新服务器
,按要求使用命令:
#迁移命令,且9999为旧服务器SSH端口,后面192.168.0.1为旧服务器ip地址,自行修改;其它可以默认
rsync -avu -e 'ssh -p 9999' root@192.168.0.1:/usr/local/mongodb /usr/local
期间会要求你输入旧服务器密码,如果遇到提示yes
/no
,输入yes
即可。
4、迁移nodejs文件夹
先使用SSH
客户端登录到新服务器
,按要求使用命令:
#迁移命令,且9999为旧服务器SSH端口,后面192.168.0.1为旧服务器ip地址,自行修改;其它可以默认
rsync -avu -e 'ssh -p 9999' root@192.168.0.1:/usr/local/nodejs /usr/local
期间会要求你输入旧服务器密码,如果遇到提示yes
/no
,输入yes
即可。
5、迁移redis文件夹
先使用SSH
客户端登录到新服务器
,按要求使用命令:
#迁移命令,且9999为旧服务器SSH端口,后面192.168.0.1为旧服务器ip地址,自行修改;其它可以默认
rsync -avu -e 'ssh -p 9999' root@192.168.0.1:/usr/local/redis /usr/local
期间会要求你输入旧服务器密码,如果遇到提示yes
/no
,输入yes
即可。
在新服务器上还原数据
注意:如果是带有GPU显卡的迁移,请联系我们协助安装Nvidia等环境。
1、安装依赖
先使用SSH
客户端登录到新服务器
,根据指定系统依次使用命令:
#CentOS 7系统
yum install epel-release -y
yum -y groupinstall "Development Tools"
yum -y install cairo cairo-devel kernel-headers
#Debian/Ubuntu系统
apt update
apt install -y build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
2、还原mongodb
先使用SSH
客户端登录到新服务器
,依次使用命令:
useradd -M mongodb
chown -R mongodb:mongodb /usr/local/mongodb
wget --no-check-certificate https://download.zhuanma.org/moeapp/migrate/mongod.service -P /etc/systemd/system
systemctl start mongod
systemctl enable mongod
3、还原redis
先使用SSH
客户端登录到新服务器
,依次使用命令:
useradd -M redis
chown redis:redis -R /usr/local/redis
wget --no-check-certificate https://download.zhuanma.org/moeapp/migrate/redis.service -P /etc/systemd/system
systemctl start redis
systemctl enable redis
4、设置变量
先使用SSH
客户端登录到新服务器
,依次使用命令:
echo "export PATH=/usr/local/redis/bin:/usr/local/mongodb/bin:/usr/local/nodejs/bin:/usr/local/ffmpeg/bin:$PATH">>/etc/profile
source /etc/profile
5、停止不用的高级版
我们搬完家后,如果你旧服务器的高级版还没停止,则需要在不用的高级版服务器使用命令停止下:
pm2 kill
pm2 unstartup
停止后,再前往授权操作台efvcms.com
登录账号,绑定新服务器ip
。
6、启动新转移的高级版
先使用SSH
客户端登录到新服务器
,按要求使用命令:
#进入到源码目录,本文默认/home/express-ffmpeg,自行根据实际情况修改
cd /home/express-ffmpeg
#启动
export PATH=python3/bin:$PATH && pm2 start ecosystem.config.js --env production
#开机自启
pm2 save
pm2 startup
最后可以检查下程序是否可以打开,如果还不能,可能是数据库损坏没启动成功,接下来运行命令:
mongod --dbpath=/usr/local/mongodb/data --repair
chown -R mongodb:mongodb /usr/local/mongodb
rm -rf /usr/local/mongodb/data/mongod.lock
systemctl restart mongod
pm2 reload all
该命令可以修复数据库,如果还没好,可直接联系我们解决该问题。