几个月前收到 digitalocean 发来的邮件,说因为我邀请用户注册并达到他的要求,送了我50刀的额度,本来就没想到它能送,结果不久之前它又送了一次,果断让我产生了回到它的怀抱的念头,毕竟现在 vultr 上的日本服务器5刀/月,速度也不太理想,还是绕路,还不如拿去买个迅雷会员。
迁移主要用到了 scp 命令,当然网站小文件比较多的情况下(例如 node modules),那么最好先打包在远程拷贝,速度会快很多。
从本地复制到远程
scp local_file remote_username@remote_ip:remote_folder
从远程复制到本地很简单,顺序换一下
scp root@wtser:/home/wtser/others/music /home/space/music/1.mp3
打包
tar zcvf siteName.tar.gz siteName/
解压
tar zxvf siteName.tar.gz
导出到文件
mysqldump -u user -ppassword databaseName > sqlFileName
导入 sql 文件到数据库
mysql -uuser -ppassword databaseName < sqlFileName
其中 databaseName 是数据库的名称,sqlFileName 是导出的文件路径以及名称
因为我的博客 wtser.com 之前是用 jekyll 搭建的,需要 ruby 环境,并且需要 gem install 一些依赖的包。但是在 digitalocean 服务器上安装的时候死活提示缺少依赖。后来实在不想折腾,直接上 digitalocean 的一键部署,装了 ghost。
网站都迁移差不多了,到了支持 https 的时间了,之前遇到了链接被重置的问题,所以必须要支持 https。
证书还是和之前一样,选择的是免费的 Let's Encrypt,之前服务器用的是 apache ,所以用它提供的自动化脚本完成非常方便,现在的服务器装了 ghost,默认用的是 nginx,因为 Let's Encrypt 官方对 nginx 的支持不好,所以得自己动手。
实现过程主要参考 https://imququ.com/post/letsencrypt-certificate.html ,按照博主的教程,完成了证书的申请和部署,并支持每月自动更新。
ghost 是基于 nodejs 开发的博客系统,除了 ghost,我还部署了几个用 express 框架写的应用,很不幸的事它们几乎每天都会崩溃一次。
为了避免这种问题,装了 forever。
全局安装这个模块
npm install -g forever
然后通过下面的方式启动 server
forever start app.js
至此,终于可以安心搬砖了。