最近云服务器要过期了,记录一下手动迁移前后端分离项目(Vue-SpringBoot)遇到的问题。
1、前端:dist文件迁移
1、注意修改nginx的配置文件(将旧服务器的配置文件内容,添加到新服务器中的nginx配置文件)
2、修改dist文件中的后端请求地址,请求地址一般在app.4f91ea54.js类似的文件中。通过vim编辑修改即可。
bash
【vim 全局替换】
:%s/XX.XXX.XX.XX/YY.YYY.YY.YY/g #将文件中所有的XX.XXX.XX.XX替换为YY.YYY.YY.YY
#%s表示当前整个文件
#%g是全局替换(替换行内所有匹配)
参考: Vim 替换命令完整学习笔记
2、后端:数据库迁移和Jar包迁移
安装Java环境、数据库环境。
2.1 数据库迁移
1、数据库需要将旧服务器的数据库备份后,将备份文件重新导入到新服务器的数据库中
2、导入过程可能会遇到数据库版本冲突的报错,解决方案如下:
utf8mb4_0900_ai_ci 换成 utf8_general_ci
utf8mb4 换成 utf8
保存后再次运行即可成功。
参考:mysql导入报错Unknown collation: 'utf8mb4_0900_ai_ci'
3、数据库版本不一样,可能会出现忽略大小写的问题。
解决办法:通过修改数据库配置文件中的"lower_case_table_names"字段,lower_case_table_names=1表示忽略大小写,lower_case_table_names=0表示区分大小写。
4、新买的阿里云服务器,默认不开3306端口,要在控制台中开一下。然后在开一下服务器的3306端口。
2.2 Jar包迁移
1、Jar包需要修改其中配置文件的数据库地址 ,修改方法参考:两种方式修改jar内配置文件(1 解压jar,修改并重新打包;2 直接修改jar内指定配置文件)
bash
jar tf test.jar # 查看test.jar的所有文件
jar xf test.jar BOOT-INF/classes/application.yml # 提取出jar包中的BOOT-INF/classes/application.yml文件。数据库配置文件可能在这,也可能在application.properties文件中。
vim BOOT-INF/classes/application.yml # 修改配置文件
jar uf test.jar BOOT-INF/classes/application.yml #更新配置文件application.yml到test.jar包内
2、运行Jar包
bash
java -jar test.jar #运行看下是否报错
nohup java -jar test.jar > test.out 2>&1 & #后台运行