基于Node.js 的博客系统——Ghost
这篇文章记录了我是如何从零开始搭建自己的博客。包括从选择博客系统,选择网站空间,发布,到域名绑定的所有流程。
关于个人博客
其实以前有玩过个人网站,从最早的HTML网页到CMS都有玩过,那时还没有云计算的概念,只有所谓的虚拟主机,尼玛,说白了就是块硬盘空间,CPU,内存,IP,网络什么的都是共享的,管理只能通过FTP,上传下代码就能把完这运行起来,后来觉得自己维护比较麻烦,还没有什么访问量,干脆就开个技术博客吧。就开了个CSDN的博客,没想到他们用户体验做的太渣,经常发布不了博客,真是影响心情。
也想过转到博客园,但是觉得界面太简陋,遂放弃了。时代变化太快,这已经是个自媒体的时代,信息发布的成本越来越低,人人都可以开个公众号,随随便便就能搞个100000+的大新闻。随着简书的崛起,逐渐意识到这是个不错的内容分享平台,就转到简书上了。得益于技术的发展,各种云计算服务崛起,于是想搭一个自己的博客。一方面可以把各种好玩的技术用在我的博客上,增加时间的机会,另一方面也可以建设个人品牌,增加影响力。
技术选型
既然决定要搭建博客,那就要好好考虑下怎么搭。因为最近在研究Node.js,所以就搞个Node的学习下。暂时不想自己写一套,所以就选了个比较流行的Blog框架——Ghost。网站架构已经定了,就要考虑下放哪吧,首先传统的网站空间是不能用来了,大多都不支持Node,后来发现百度BAE,百度应用引擎,应该是用来跑各种程序的吧,用来放博客还是不错滴。支持Git源码管理,价格还便宜,选个低配的一天才2毛钱。
可是,用了两天后才发现这是个坑,尼玛源码空间只有100M,随便装几个npm包就100多M了好吧,好像支持在线下载,据说不好像用。折腾了好久,尼玛,放弃。看来只有云主机了。
我可以控制操作系统了,可以随便玩了,哈哈。
预装的CentOS操作系统,接下来就是实战操作了。
运行环境搭建
用ssh登录主机后,安装node
一条命令搞定,就是这么强大
默认是6.10长期支持版本
接下来安装cnpm,为什么要装这个?国内的网络环境,你懂的。
同样一条命令搞定。
新建一个blog文件夹,用来放源码
https://ghost.org/developers/ 下载最新版本,0.11.8支持node 6.10,而中文版的node版本太落后还支持到node4。
把下载下来的压缩包上传到blog目录下,解压
又是一条命令搞定
然后就是安装依赖模块了
安装完成后,修改配置文件的监听IP,在config.js中
url改为主机的外网IP
host改为主机的内网IP
保存后,启动
启动成功,此时访问下
哈哈,终于看到界面了。
对了,这里有个问题,当断开终端连接时,node进程就结束了,那博客也访问不了了。
试了下nohup等后台运行等命令,无效。
还好我们有强大的forever插件,可以hould住node进程
安装后,就可以启动ghost了
域名解析
首先你要有一个域名,如:
为你的域名添加一条解析记录
记录类型选A, 表示解析到一个IP地址
主机记录填你的域名
记录只就是你的服务器IP
设置好后一般立即生效
源码管理
为了方便修改代码,所以要进行版本控制,先安装git,在新建仓库,克隆到本地。
安装git
yum install git
进入博客根目录,初始化仓库
添加文件,提交
需要先设置个账号
再次提交,成功
ok,然后本地git 导入服务器私钥,从远程克隆仓库
下载成功,安装node模块
ok,在本地修改代码后直接push到服务器,重新运行node就好了。