hexo+coding+腾讯云博客搭建
搭建一个blog
购买云主机和域名
腾讯云有学生1元主机和1元域名的优惠,可以去参加下。这一步就不赘述了。
hexo 本地博客搭建
- 首先你需要在本地这里安装好hexo,这里安装可以参见hexo官网的步骤,当然需要先安装好hexo的一些依赖比如
npm
,git
等。 - 上一步完成后继续看官网教程,直到可以达到
hexo s
后,能在localhost
本机正常显示博客,就可以继续了。
将博客添加为coding项目
这里我们将博客添加到coding中去,当然你要可以添加到任何一个git托管中,比如github,但是github中创建私人项目需要收费,而博客这东西又不太好开源,所以这里选择了coding.net。
- 注册coding.net账号,创建一个新的私人项目比如blog。
- 将本机的ssh公钥添加到coding.net账号中去,这样这台机器可以免密push到coding的项目去。具体步骤可以看官网指南,感兴趣的可以google搜索相关原理。
- 在你的博客目录下执行以下代码
1 |
|
完成以上操作后,你的博客代码就已经成功托管到coding上了,下面需要去服务器端配置环境,实现博客发布。
在服务器上配置环境
- 首先需要从coding上将博客代码pull下来,当然添加ssh公钥什么的和上面一样。
1 |
|
- 服务器端也需要安装hexo什么的,这里也不赘述了。
- 这时你在hexo目录下执行
hexo s
,然后地址栏里输服务器ip:4000
,检测是否能够正常显示。 - 下面就轮到nginx上场了,它是一个轻量级的服务器,以擅长高并发收到广泛欢迎。这时现在你的服务器上装上nginx(腾讯云主机CentOS的话自带),具体方法一搜一大把。
安装完成之后启动nginxsudo systemctl enable nginx
,这时可以浏览器地址栏输入服务器ip,看下是否出现“Welcome”,是的话说明安装正常了。
接下来,利用nginx作为你博客的服务器,在/etc/nginx/conf.d/
中创建一个配置文件,比如hexo.conf
,
然后编辑配置如下:
1 |
|
然后执行nginx -s reload
重载配置,接下来访问lunarnai.cn
就能看到博客了(当然你还要在腾讯云平台上设置域名解析)。如果此时页面显示403
的话,很可能是你上面配置中root路径的权限问题,利用chmod就可以解决了。
自动化配置
那么如果一路做到这里正常的话,这个博客就算做好了,但是整个workflow有些繁琐。本地写markdown博客,检查调试 -> push到 coding -> 登录服务器pull下来 -> hexo g
生成最新的文件。
写一个博客要经过4个步骤,显然有些懒癌患者就不太想写了。
这里我们需要webhook
来 帮忙进行自动部署了。
此时,因为之前已经在服务器端进行了配置所以我们只要:
- 在coding上设置webhooks。
- 在服务器端配置接收请求的服务。
第一步,在coding项目设置->设置->webhooks中新建一个hook,url就填https://www.yoursite.com:4002/webhooks/push/123
好了,这里4002是服务器端的监听接口,后面的123纯粹当做验证token用。
这一步完成后,我们本地撰写好博客后push到coding上去,coding发现有push,就会向那个url发送一个请求。
接下来,需要设置服务器端接收请求的动作。
这里随便用什么语言都行,我直接就抄了之前一个博主写的js,在你的hexo博客目录下新建webhooks.js
1 |
|
那么服务器端接收到请求后就会执行deploy.sh
脚本如下:
1 |
|
然后在服务器中启动nodejs脚本就行了node ./webhooks.js
(这里也可以用pm2后台运行)
至此,博客就大功告成~(≧▽≦)/~。
参考资料
在搭建过程中参考了之前各位博主的一些经验:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 陆陆自习室!
评论