为什么要重装
首先,如果你只是在同一家vps厂商下换个ip的话,理论上只需要做一个snapshot然后重新建一个服务器就好,这样做几乎没有任何需要重新配的东西(除了ip)
当上述操作无法进行的时候,包括但不限于 - 换vps厂商 - 换vps账号 - 换vps的地区 - 降级vps配置
你就需要走上漫漫的重装之路了。当然,如果你是第一次装也可以参考下面的步骤。但因为我不是从零配起,而且有一些先验的知识,我不会事无巨细地讲解(如果你不熟悉linux此时建议找个朋友指导或者email我,我再给出并顺便整理更详细的说明)。
需要做什么
我的服务器上没有跑什么东西,只是部署了几个hexo的网站和v2ray的代理,因此权衡了一下,与其手动迁移大量配置不如重零开始重装来的省事。
创建/购买服务器和域名
我是在Digital Ocean上购买的,每月5刀,没有流量限制(不过挂pt啥的估计也是有限制的),速度的话选加州大约200ms左右,速度可以看油管1080p。有人写了个测速的网页可以参考:测速网址,照它写的先添加书签然后去DO测速网页点击书签就行了。
DO的话还有一个好处就是Github教育优惠给50刀(相当于10个月),然后如果通过推广链接的话进的话还可以获得100刀(不过两个月到期,其实相当于2个月)。我的推广链接是 推广链接,如果打算也用DO的话可以点一下。支付方式的话paypal绑国内借记卡就可以了,有信用卡自然更好。
域名的话到处都可以买,我个人觉得cc的后缀比较好玩所以用这个,大概一年30左右,不介意的话也有很多其他更便宜的域名。Github教育也有一些域名的优惠可以薅。域名到手后建议去扔去 Cloudflare 管理,纯免费,而且里面有很多实用的功能比如https、修改DNS、保护ip、加速和缓存、主机挂了后托管静态页面等服务。
v2ray的搭建
服务器到手后建议先搭v2ray然后测一下google和google scholar能不能上,有些ip段可能被google封了,这样的话反手把服务器干掉然后重新建一个就能换一个ip了。
这里我是用的一键安装脚本 脚本链接。我选择了Nginx+ws+tls的配置,基本上是傻瓜式的了,一路跟着指示走就好。有一步是需要填写伪装的域名,这里你先在Cloudflare那边配好(比如你的域名是yyy.com
,在Cloudflare那边的DNS添加一个Type为A
的记录,名字可以为xxx
,ip为你的ip。然后安装过程中填写xxx.yyy.com
就行,他会自动检查你配置的是否正确,然后一路傻瓜进行下去就行,中间有一个编译安装 nginx
的过程需要一些时间(几分钟左右)。安装完后显示了配置的二维码,扫完后客户端就能用了。可以试试访问xxx.yyy.com
看是否出现了元素周期表,然后看看代理是否正常工作。脚本链接还提供了一些bbr加速的服务,顺手装了就ok反正没损失。
hexo的搭建
hexo的内容我是在本机写的然后在服务器部署,因此只是需要一个部署的方式。我的部署流是
- 首先修改本机ssh/config,配置别名和密钥登陆。我之前配过所以只是需要换ip
- 设置hexo的部署。这里其实之前设好的话不用修改,这里只是列一下配置
- 设置静态页面存放的路径
<path_to_publish_folder>
。一般会创建在/var/www
之类的地方,记得让nginx的用户需要有权限访问这个目录。然后新增nginx的配置(一般放在/etc/nginx/conf/conf.d/*.conf
下),使得访问对应域名的时候,nginx能正确的处理并找到正确的文件夹。记得测试并重启nginx
。 - 设置git和hook。选定并存放的路径
<path_to_git_folder>
后,在文件夹里面git init --bare
,会出现hooks
文件夹,进入后创建post-receive
,写入内容。这样每次你hexo deploy
后,会触发这里面的操作,清空<path_to_publish_folder>
里的东西并用新的替换。
由于这里配置比较多,列一下我的参考配置
1 | # ssh/config |
然后试着在本地 hexo g; hexo d;
看看是否成功部署在服务器上。