前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jekyll监听文件变化的问题解决

Jekyll监听文件变化的问题解决

作者头像
呼延十
发布2019-07-01 17:10:14
8120
发布2019-07-01 17:10:14
举报
文章被收录于专栏:呼延呼延

从开始使用jekyll作为博客系统就有一个问题,那就是如何持续的集成.

主要要求是简单方便.

Jekyll可以启动一个server服务,启动参数中有--watch(监听文件变化)和--detach(后台运行)选项,看起来这两个参数一起使用就完事了.

但是比较尴尬的是,这两个一起是不起作用的.

后来我使用了半年的方式是:

代码语言:javascript
复制
setsid jekyll serve --host 0 --watch --force_polling &>/dev/null </dev/null & 

这个为我工作了半年,最近出现了问题,会导致ruby进程把CPU拉满,进而卡死我的服务器,这不能忍啊….

因此今天想替换方案.

第一种方案:

--watch参数运行jekyll服务,然后再服务器上安装tmux,这样就可以变相的实现后台运行.

有点蠢.

第二种方案:

放弃jekyll的服务,仅使用它的编译功能.

主要思路是:

  1. 客户端push到服务器,触发git的钩子.
  2. 钩子里面执行jekyll build -s -d.将文件编译到某个目录.
  3. 在nginx上启动监听,将自己想要的子域名监听到对应的文件夹上.

这样实现了:

  1. 脱离终端,不用我一直为jekyll开启一个终端.
  2. 监听变化,当我写完博客,push到服务器,剩余的事情由服务器自动完成.
  3. 节省了一直运行在服务器上的jekyll进程,这个进程占用内存160M.

160m内存听起来不多,但是对于我这个穷人来说,太重要了.我的乞丐版阿里云服务器已经撑不住了,刚升了级.能省还是省一下啊,都是钱.

ChangeLog

2019-04-21 完成

以上皆为个人所思所得,如有错误欢迎评论区指正。

欢迎转载,烦请署名并保留原文链接。

联系邮箱:huyanshi2580@gmail.com


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ChangeLog
相关产品与服务
网站建设
网站建设(Website Design Service,WDS),是帮助您快速搭建企业网站的服务。通过自助模板建站工具及专业设计服务,无需了解代码技术,即可自由拖拽模块,可视化完成网站管理。全功能管理后台操作方便,一次更新,数据多端同步,省时省心。使用网站建设服务,您无需维持技术和设计师团队,即可快速实现网站上线,达到企业数字化转型的目的。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档