
去年买的服务器到期了,续费太贵于是买了新的服务器,由于是不同账号(为了福利),迁移起来很麻烦,特此记录。 首先需要知道的是,轻量应用服务器是无法使用官方的工具进行在线迁移的,只有云服务器才可以用。
# 复制文件
复制了前后端代码、一些静态资源的文件、以及nginx等配置
# 举例如下
scp -r /usr/local/docker root@xxx.xxx.xx.xx:/usr/local
# 数据库导出
在容器内导出各个数据库的sql然后复制到容器外部,然后scp到新的服务器
# 举例
mysqldump -uroot -pxxxxx blog > /blog.sql
mysqldump -uroot -pxxxxx money > /money.sql
docker cp mysql:/blog.sql /blog.sql
# 新服务器环境部署
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker
docker pull mysql
docker pull redis
docker pull nginx
docker pull openjdk:8
docker pull rabbitmq:management
这里注意Docker java:8 已经弃用,请更换为openjdk:8
# 启动各种服务
# mysql
docker run --name mysql -dc-restart=always -p 3306:3306 -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=密码 -d mysql
# redis
docker run --name redis --restart=always -p 6379:6379 -d redis --requirepass "密码"
# rabbitmq
docker run --name rabbit --restart=always -p 15672:15672 -p 5672:5672 -d rabbitmq:management
# turn
docker run \
-d \
-p 3478:3478 \
-p 3478:3478/udp \
-p 65435-65535:65435-65535/udp \
--restart=always \
--name coturn \
zenosmosis/docker-coturn
# nginx 注意一定要挂在配置文件以及证书、静态资源等目录,如果还没配置好nginx.conf,先跳过这一步,最后再启动nginx。如果不挂载会出现找不到证书等问题。
docker run \
-d \
-p 80:80 \
-p 443:443 \
--restart=always \
--name nginx \
-v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/nginx/cert:/usr/local/nginx/cert \
-v /usr/local/vue:/usr/local/vue \
-v /usr/local/react:/usr/local/react \
-v /usr/local/upload:/usr/local/upload \
nginx
# 其它项目的后端,举例,可以参考之前的项目部署的文章
docker build -t 名字 .
docker run -d -p 端口:端口 名字;
# 修改配置
- nginx配置文件里的ip地址
- blog后端的配置并重新打jar包上传
- 其它项目中后端的数据库连接池的ip
- 前端项目代码中的ip地址
# 防火墙
各个后端api的端口号等
CC BY-NC-SA 4.0 Licensed
