很久之前,写过一篇文章Hexo博客使用教程,介绍大概如何使用Hexo新建一个博客并部署到github上。最近抽空买了个域名和VPS,把自己的博客部署到自己的VPS上。在此分享下,正在考虑购买域名和VPS的同学可以进来看看。另外,在文章结尾,推荐一款Markdown写作App。
如果大家对于自己部署博客有什么疑问,欢迎留言讨论。
更新
2016-07-25:将DNS管理从DNSPod迁移到CloudXNS上。推荐大家使用CloudXNS。增加博客仓库介绍以及Markdown写作App推荐。
VPS
VPS可以到搬瓦工或者DigitalOcean上购买。链接就不提供了,谷歌一下很容易找到。
搬瓦工3USD一个月,DO要5USD一个月。考虑到目前博客访问量比较少,搬瓦工最低配置都够用了,所以选择了搬瓦工。迟点等VPN到期之后准备迁移到DO上,当博客主机和自己架ShadowSocks。
对着阮一峰的博客 Linux服务器的初步配置流程 ,把VPS设置好。补充一些阮一峰博客没有提到的点:
- 终端老是报错误:
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or director
解决方法是在~/.profile
中添加export LC_ALL="en_US.UTF-8"
- 安装和配置apache
运行安装命令:sudo apt-get install apache2
安装完成后修改/etc/apache2/sites-enabled/000-default
站点配置文件。配置如下。把/home/fanjie/blog
替换成自己的服务器根目录。
1 | <VirtualHost *:80> |
修改完配置后sudo apachectl restart
重启apache。
域名
在namesilo上购买域名,namesilo赠送WHOIS隐私保护。如果你选择其他域名提供商,纠结于要不要购买WHOIS隐私保护,可以看看我在V2EX上发起的讨论:买域名有必要买隐私保护么?
DNS解析服务选择国内的DNSPod。 域名解析服务使用CloudXNS。相比于DNSPod,CloudXNS更新域名解析记录的速度非常快,并且域名解析速度也比DNSPod的快。不过以下的DNS解析记录设置还是基于DNSPod,CloudXNS类似。
在namesile上修改域名服务商地址。在namesilo上修改了域名服务商,才能在DNSPod上配置域名解析记录。地址修改如下。
在DNSPod上添加域名解析记录
先介绍下常用的两种域名解析记录。
A记录
A记录是将域名指向到IP地址。例如,将duxevr.com
指向到VPS的IP地址,则需要新增一个A记录。CNAME记录
将域名指向域名,别名。例如,我将duxevr.com
指向我的VPS服务器,同时也希望blog.duxevr.com
也指向VPS服务器,那么新增一个CNAME记录,将blog.duxevr.com
指向duxevr.com
。下次VPS迁移导致IP地址变化时,就只需要更改duxevr.com
的A记录中的IP地址就行了,CNAME记录不需要更改。
DNSPod上的解析记录,给大家参考下。
主机记录(host):二级域名的前缀。例如blog.duxevr.com
的主机记录为blog
TTL(Time To Live):域名解析记录的缓存的存活时间。一般来说,域名解析不经常变动的情况下,TTL设置大一点。当需要修改时,就TTL值改小一点,等带一段DNS的覆盖时间,再修改DNS解析记录。
github博客重定向到duxevr.com
在source文件夹中新增加一个文件CNAME,文件内容为blog.duxevr.com
。重新发布博客。当访问http://jefferyfan.github.io
时,会被重定向至http://blog.duxevr.com
。
博客仓库结构
目前博客分为三个仓库。
- 主题Next仓库:从源仓库fork出来,有一些地方做了小修改,定期merge源仓库。
- 博客配置仓库。主要是除主题、博客文章之外的不包含敏感信息的文件。
- 博客HTML代码仓库。其实就是一开始将博客挂在github的那个仓库。发布博客都是先发布到这个仓库,再到vps上执行
git pull
来更新。 - 博客文章使用dropbox同步。dropbox自动同步,不用每次修改之后都提交到git。
不过,发布流程有些麻烦,需要先执行hexo d
,再登陆到vps上执行git pull
。写了个脚本,一键发布!
1 |
|
其中,最后一句中,大家需要把vps
替换成自己的.ssh/config
中VPS配置的Host;~/blog
替换成VPS上的博客目录。
Markdown写作App
推荐国内自由开发者完成的Markdown写作App--MWeb,配合dropbox,写博客简直不能再完美。
有一点特别喜欢,图片粘贴后直接保存到设置好的文件夹。如果你的图片都放在source的子目录下,正好可以配合这个功能使用。