这也许是最快的搭建博客网站的方式
文章目录
前言
搭建个人博客有很多方式,如wordpress,jekii, hexo,个人DIY;
本文主要介绍另一种方案: hugo+caddy
建一个网站要要做哪些事情
这里分解如下:
- 网站前端
- 网站后端
- 域名
- 主机
- 部署
- 维护
下面就这些方面以自己搭建ipds.top网站为例说明。
网站前端
对于前端,个人能力与经历有限,缺少DIY能力,那就是找主题模板,经济有效。 就IPDS 由于对golang的热爱,后端选择hugo。那么主题有以下选择:
- 直接从gohugo 中查找
- github中查找
个人采用的主题是icarus
网站后端
如上面所说,后端选择hugo。
这里讲一下主要碰到问题。
版本问题
- hugo版本不要使用apt-get命令直接的,防止hugo版本过低
- 个人使用版本如下
|
|
参数
常见的参数配置如下:
|
|
小结
这里要宣传一下hugo,采用hugo具有如下优点:
- 有不错可用的主题
- 简单好用
- 社区不断更新与发展
- 内容可以保存到内存,访问速度快
域名
从阿里云注册一个top域名。 这里要吐槽一下阿里云,注册域名不提示域名一定要认证后才能用。(因为我的ECS买的是香港的,买完测试后也确认可用,过几天一看居然不能用)
主机
主机采用阿里云ECS,地点在香港。 在香港最大的好处就是解决了墙的问题。
部署
反向代理
方案1: 大家熟知的nginx
方案2: caddy
这里选择了caddy,理由参考后面提到的caddy的优点。
如何支持https
方案1: Let’s Encrypt
方案2:caddy
由于反向代理选择了caddy,这里也就天然支持https
caddy配置
首先说一下caddy的优点:
- 部署方便,由于是Go开发的,所以,只需要一个可执行文件,就可以运行Caddy Server了
- 跨平台,也是因为是由Go开发的,好处不言而喻,可以交叉编译并运行在多个平台
- Graceful Reload: 修改配置文件后,支持无downtime的配置文件重新加载和读取,不影响现有业务的运行
- 配置简单,这也是感觉比较方便的,比起Nginx,配置文件真的是非常简洁
- 丰富的插件系统,支持多种扩展插件,通过不同的插件,实现相当多的扩展功能
- 多核支持,分利用多核性能,这其实也就是golang的优势
- 天生的HTTPS支持,能把证书申请和配置一系列繁琐的事情简化到极致,用caddy即可支持https
以excellent123网站为例,具体的配置如下:
|
|
监控
利用pm2来实现进程监控,提高可用性。
更新
有以下方案,具体如下:
rync
通过sync同步本地内容到云主机,实现更新。
github
通过将内容保存到github,github再更新到ECS方式进行。好处就是git流操作,同时也实现了对文章与内容的备份,历史记录等功能。
本人采用是这种方式,推荐使用这种方式。
github page
配置repo
在myself659.github.io配置下设置source分支,打开https。
设置cname
在根目录,新增CNAME文件。添加内容如下:
|
|
cloudflare加速
添加域名
配置域名解析
设置page rule
设置域名dns服务商
|
|
其他
底层技术出身,在web技术方面个人水平有限,如有不足,敬请指正。
参考
文章作者 沉风网事
上次更新 2017-10-27