博客已迁移至https://drivingc.com,本站停止更新.

服务器迁移记录

阿里云服务器到期了.新购要比续费来的划算.所以我准备新买一个,然后把现有的东西迁移过去.

要迁移的东西

首先来看一下我的服务器上都部署了哪些东西

  • 21个web项目(包含测试和正式),有32个子域名(包含https)分别解析到不同的项目
  • 5个python项目
  • 1个数据管理系统和1个项目自动部署和发布系统
  • 1个jupter
  • 1个goaccess

一共开了6个docker实例,分别是

  • 1个nginx+php实例
  • 1个python实例
  • 3个mongodb实例
  • 1个redis实例
  • 1个goaccess实例

迁移过程

整个迁移过程我特意记录下来,一方面是为了下一次迁移做参考,另一方面是为了通过迁移的过程优化我的部署.
以下是迁移的步骤:

  1. 登录新服务器更新apt-get,安装git
    apt-get update
    apt-get install git
    
  2. 按照docker官方文档安装最新版的docker-ce
  3. 添加git用户,更改git的用户组为www-data(这是为了git创建的文件www-data也可以读)
  4. 设置git
    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"
    git config --global push.default simple
    
  5. 生成root用户及git用户的ssh密钥
  6. 禁止git用户ssh登录(git用户仅用于git的传输文件)
  7. 安装tmux,更改tmux配置,设置ssh连接后自动启动tmux
  8. 压缩老服务器中的workspace文件夹(所有的配置文件,项目文件,日志文件,数据库文件,以及Dockerfile都在这个文件夹里)
  9. 使用scp将workspace压缩包传输到新服务器
  10. 核对传输前后文件的md5,确保文件传输没有问题后解压缩
  11. 安装docker-compose
  12. 启动所有的docker镜像,到Dockerfile目录执行
    docker-compose up
    
  13. 将域名解析到新机器的IP(域名解析全球生效有可能会有延迟,所以建议老机器的服务也要再跑2天),可以去这个网站查询世界DNS解析情况
    https://www.whatsmydns.net

到这里迁移的过程已经完成。。。非常顺利

此外我对某些git代码库的位置做了一些调整,所以clone这些git代码的地方要修改一下源地址,命令是这样的

git remote -v
git remote set-url origin url

神器docker

从迁移的过程中体现出来docker这个神器的强大之处,之前服务器大大小小的配置,如果让我这个业余运维重新来过的话,最少也要一个星期,但是docker仅仅把配置文件拷贝过去,执行一条命令就全部搞定了,爽爆了有木有.

另外要对阿里云点赞,阿里云对docker的优化做的非常好,把所有dockerhub的镜像都同步到内网里了,docker pull的速度达到惊人的58m/s

本文链接:https://kupposhadow.com/p/5a6f462c97180045a8311303
本站采用「署名 4.0 国际(CC BY 4.0)」创作共享协议。只要在使用时署名,那么使用者可以对本站所有原创内容进行转载、二次创作、商业性使用。