说起来我有维护几个静态站点(基于Hexo,包括本博客),之前是托管在coding.net上面的,但coding.net目前只有香港线路,且ping值不稳定,导致访问速度一般,所以一直想要找个机会好好整下,但没有好的方案。这不之前借着想要自己做网站赚点外快为由买了阿里云的主机,正好闲置着,想着不如就把这几个站点都迁移过去吧。
关于做网站,我的原则是尽可能的简单不折腾,因此,能够复用一些框架的地方直接复用,避免重复造轮子,因此,主机我选的阿里云的轻量应用主机(主要还是便宜,记得选香港),博客框架选的静态的hexo,主要是静态不容易出错,网站解析系统选的是apache,老牌稳定。虽然如此,搬家还是耗费了两天时间,搬家过程中的一些细节还是记录下,以备后查。
1. 选择系统镜像
因为是静态网站,所以选择最基础的网站运行框架就行,这里选择的是LAMP 6.1.0。
2. 配置Apache
因为涉及到多个站,所以要在一个apache上配置虚拟主机,按照域名配置虚拟主机的方法如下。
a.首先需要去httpd.conf文件中,去掉这句话的注释
1 | Include conf/extra/httpd-vhosts.conf |
b. 其次再去httpd-vhosts.conf添加多个域名和相应的文件夹
1 | <VirtualHost *:80> |
c. 创建相应的文件夹并部署网站
3. 将hexo部署到远程主机
推荐使用rsync方式,服务器安装:1
2
3apt-get install rsync
或者
yum install rsync
本地博客安装(需要对每个站单独安装):1
npm install hexo-deployer-rsync --save
然后在博客文件夹目录下的 _config.yml,找到deploy添加如下代码:1
2
3
4
5
6deploy:
type: rsync
host: vps-ip # 这里填写你VPS的IP地址,比如:138.23.23.23
user: vps-user # 这里填写你登陆VPS所用的用户名,比如:root
root: /usr/www/blog # 这里填写你在nginx中配置的文件路径
port: 22 # SSH默认端口号,不需要修改
小技巧:如何在使用rsync(基于ssh)的时候不需要输入密码,可以将SSH公钥上传到Linux服务器(前提得先生成),使用ssh-copy-id命令来完成:ssh-copy-id username@remote-server
。