迁移到新的服务器教程
说明: 迁移前请提前告知你的商家和接单员。需关闭平台。如果没关闭平台,迁移过程中,如果有新的订单,企业商户的资金和接单员的资金会有变动,那么迁移到新的服务器的话,是变动前的数据 ,不会同步最新的数据,所以迁移过程,务必关闭平台。1.关闭平台,不让用户下单。2.通知接单员 ①要么从现在开始,告知...
更新于 2025年11月19日
说明: 迁移前请提前告知你的商家和接单员。需关闭平台。如果没关闭平台,迁移过程中,如果有新的订单,企业商户的资金和接单员的资金会有变动,那么迁移到新的服务器的话,是变动前的数据 ,不会同步最新的数据,所以迁移过程,务必关闭平台。
1.关闭平台,不让用户下单。
2.通知接单员
①要么从现在开始,告知接单员什么都不要点,等迁移完成后,得到通知了,再让接单员继续完成手上的订单。(建议采用这种)
②要么接单员手上有进行中的订单的,在迁移之前,让他们全部先点完成,再给人家送过去,将订单完成。所有接单员在手机上将所有订单点了完成之后,请告知技术。
3.备份站点文件和数据库(可以先删掉一些比较大的日志文件再备份)
登录旧服务器的宝塔
①备份后端站点的文件
在宝塔找到后端站点

②备份后台站点的文件
在宝塔找到后台站点,操作和备份后端站点的一样
③备份后端的数据库
在数据库里找到后端站点的数据库,然后备份,备份好之后,下载
4.新宝塔里安装环境
登录新服务器的宝塔,安装好独立版所需要的环境
参考这个教程:https://www.yuque.com/99make/ofmr72/rzd57p
5.新宝塔里添加两个站点
①在新宝塔里分别添加好后端站点和后台站点
②添加后端站点的时候,记录保存好后端站点的数据库名称、用户名、密码,后面要用到,到后端站点的.env文件里修改数据库的参数
③然后分别给这两个站点配置好伪静态
6.新宝塔导入站点文件和数据库
①给后端站点导入文件
将下载好的后端站点的文件上传到新宝塔里后端站点的根目录下,然后解压
②给后台站点导入文件
将下载好的后台站点的文件上传到新宝塔里后台站点的根目录下,然后解压
③给后端数据库导入数据
在新宝塔里,找到后端站点的数据库,然后导入刚才下载好的数据库
注意:如果第3步中第③小步下载好的数据库的后缀是sql.gz,那么先将这个文件解压,得到一个后缀为sql的文件,导入数据库的时候,就导入这个。


7.后端站点的网站目录设置

到后端站点根目录找到.env文件,将数据库的名称、用户名和密码修改成新的数据库的。(刚才第5步中第②步记录的)

8.后端和后台站点的伪静态配置
①后端站点:

②后台站点:

9.后台站点static-config.json改域名(如果后端域名换了,才需要操作这步)
如果连后端域名也换了,那么这个文件里的域名也要换成新的后端域名。
如果后端域名没有换,那么这一步可以忽略。
如果换了后端域名,但是没有来这里换上新的后端域名,那么迁移是失败的。数据会继续写入原来的服务器的数据库中,而不会写入到新服务器的数据库中,因为一直访问的是旧的后端域名。
10.将这两个域名解析到新服务器的IP
登录这个域名的管理后台,直接在原来的解析记录上修改,将旧的IP换成新的IP
11.添加守护进程
软件商店-找到进程守护管理器
名称填写make-swoole
启动用户选择 www:
运行目录选择后端站点根目录:
每个人的后端站点根目录都不一样,请根据自己的实际情况进行选择。

启动命令填写:
进程数量必须是1:
填写完毕后,点击确定。
如图所示,说明守护进程成功启动:
如果进程列表不显示刚才添加的进程,请重启 SuperVisord 服务。
特别说明:如果进程无法启动成功,请检查env文件redis配置那里是否填了密码,但是软件商店redis那里没有密码或者和env文件里的密码不一致。总之两边要么不填,要么填了要一致。
12.SSL证书
给两个站点部署SSL证书,可以从原宝塔那里分别将这两个域名的SSL证书复制填过来。
13.两个小程序添加新的IP白名单(如果原来开启有的,就需要操作这步)
如果这里的IP白名单原来有添加,就需要把新服务器的IP加进来;
如果这里原来是关闭状态(什么IP也没有),就不需要把新服务器的IP加进来。
分别登录用户端和接单端小程序后台--开发--开发管理--开发设置--小程序代码上传--IP白名单,将新服务器的IP给添加上。
14.原服务器装的是PM2管理器,新服务器装的是Node.js版本管理器
如果原服务器和新服务器都是PM2管理器,则不用看这一步
如上图所示,这种情况下,需要到在宝塔-码科系统后端站点-根目录下的.env文件,修改一下配置,如下图所示:

请填写以下内容:
- PHP_PATH填
/www/server/php/74/bin/php - Node_PATH 填
/www/server/nodejs/v16.19.1/bin/node - npm_PATH 填
/www/server/nodejs/v16.19.1/lib/node_modules/npm/bin/npm-cli.js

15.特别说明
①守护进程
如果守护进程添加失败,可以尝试卸载“进程守护管理器”(前提是原来没有其他进程)然后重装,然后重新添加进程
②后台进不了
如果码科系统进不了,请检查env文件 redis是否填了密码,以及redis是否设置了密码、域名解析到新的服务器IP还未生效(可以ping一下)
③后端站点网站目录
后端站点的 网站目录选择“/public”后,要记得点保存
④检查数据库是否有数据
导入数据库后,进数据库看一下各个表是否都有数据了。
导入数据库失败案例:
原因:磁盘空间满了,无法全部导入所有的数据
解决方法:清理磁盘空间或者扩容。

⑤数据库里的某些表没有数据
原因2:备份数据库的时候就出了问题,宝塔没有备份完所有的数据。
这种情况一般是数据库太大了,宝塔系统本身的问题没能完整备份完。
解决方案:如果数据库很大,那么先将数据库里一些没用的日志删掉,再备份数据库。(运营时间长,单量大的,数据库一般都会很大)
⑥迁移后用户端下单提示:SQLSTATE[HY000]:General error1364 Field
原因:文件缺少某个字段

⑦涉及到要授权IP的地方
1.如果有买地图key的需要授权新的IP
2.小程序后台-开发管理 开启了IP白名单的,要关掉或者加上新的IP
3.微信支付商户号-商家转账到零钱功能 要加上新的IP
继续阅读


