迁移程序到新服务器运行
使用中如果需要将程序转移到新服务器的,可按步骤进行相关操作。
一定要根据下面步骤一步一步来,不要漏掉任何一个地方,不然会出问题。
且如果是GPU
服务器,可在迁移之前联系我们协助安装相关显卡驱动。
迁移原服务器数据文件
首先迁移前,先使用SSH
客户端登录到新服务器
,安装一下rsync
:
#CentOS 7+、AlmaLinux、Rocky Linux系统
yum install rsync -y
#Debian、Ubuntu系统
apt install rsync -y
迁移程序源码文件夹
先使用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
台服务器之间连接情况等影响,迁移时间可能会很长,挂机即可,直到结束。
迁移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
即可。
迁移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
即可。
迁移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
即可。
迁移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
即可。
在新服务器上还原数据
安装依赖
先使用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
还原mongodb
先使用SSH
客户端登录到新服务器
,依次使用命令:
useradd -M mongodb
chown -R mongodb:mongodb /usr/local/mongodb
wget --no-check-certificate https://file.efvcms.com/moeapp/migrate/mongod.service -P /etc/systemd/system
systemctl start mongod
systemctl enable mongod
还原redis
先使用SSH
客户端登录到新服务器
,依次使用命令:
useradd -M redis
chown redis:redis -R /usr/local/redis
wget --no-check-certificate https://file.efvcms.com/moeapp/migrate/redis.service -P /etc/systemd/system
systemctl start redis
systemctl enable redis
设置变量
先使用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
关闭旧服务器的程序
我们搬完家后,如果你旧服务器的程序还没停止,则登录到旧服务器
,使用命令:
pm2 kill
pm2 unstartup
停止后,再前往授权操作台efvcms.com
登录账号,绑定新服务器ip
。
启动新转移的程序
先使用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
该命令可以修复数据库,如果还没好,可直接联系我们解决该问题。