我在网上查了轻量级应用服务器快速迁移的方法,只找到了宝塔的快速迁移,可惜我的原服务器装的不是宝塔,所以这次我的新服务器装的是宝塔。
开始迁移前首先确认服务器上有哪些东西,我的东西不多只有两个数据库、一个nodejs后端服务、gogs、3个前端项目、一些静态文件资源。对于我来说难点就在gogs的迁移了。因为使用的是宝塔所以git、nginx、MySQL、node.js环境直接三五两下就解决了。
第一步 数据库迁移
数据库迁移我使用了navicat工具中的数据传输 这就很简单,我在目标服务器中新建了两个库,然后直接把旧库中的数据传输到新的库中,其中包括了gogs的数据库。
第二步 nginx配置迁移
cv一下,重启
第三步 nodejs后端服务,前端项目,静态资源迁移
cv过来,后端服务需要改下配置
第四步 gogs迁移
1.安装gogs
可以查看官方文档
- 环境准备(git、MySQL、ssh服务器(可不用,详情看文档))
adduser git
新建用户su git
切换用户(gogs默认用户是git)- 下载安装
wget <https://dl.gogs.io/0.13.0/gogs_0.13.0_linux_amd64.tar.gz>
- 解压后cd进入gogs文件夹
- 在gogs/custom/conf目录下新建app.ini文件(custom/conf 文件夹也需要自己建的)
- 执行
./gogs web
启动 - Gogs 默认会在端口
3000
启动 HTTP 服务,访问/install
以进行初始配置(例如 http://localhost:3000/install )。 - 然后进入页面完成配置就ok了,数据库填之前新建已经同步过来的数据库。
nohup ./gogs web &
后台运行。lsof -i:3000
查看任务。kill -9 [pid]
结束任务。
然后就是迁移了,数据库之前已经同步过来了,然后把原服务器中/home/git/gogs-repositories
文件夹cv过来(使用tar传输,否则后面会出现问题。)
然后执行这个操作
然后就没然后了,大功告成。之前没用tar传输可能出现的问题就是控制面板的消息不更新。
cd /home/git/gogs/gogs-repositories
chmod +x xxx/*/hooks/post-receive
chmod +x xxx/*/hooks/pre-receive
chmod +x xxx/*/hooks/update
“xxx” 是用户名
参考: