转载请注明文章出处:https://tlanyan.me/ghost-expe...
今早醒来后看到有新邮件,提醒七点期间博客宕机了十几分钟。连上服务器看Nginx记录,发现期间有人用开源爬虫工具密集访问站点,导致后续请求耗时巨长,最终都返回了499错误码。前往服务器控制台查看CPU使用情况,七点时有一段陡峭的使用率飙升曲线。所以宕机是突发请求加WordPress性能引起。
不想多花钱升级服务器配置,解决办法之一是换用更性能博客软件。搜索了一圈,考虑到活跃度、维护等因素,动态博客貌似就Ghost一个可用项。Ghost是开源、专业的内容写作平台软件,基于NodeJS和Ember.js开发,官方称相对WordPress有10以上的性能提升。可安装到自己服务器上免费使用,也可使用官方提供的付费托管服务(价格每月79刀起)。作为一个技术人员,当然坚定走自行搭建这条路。
安装
根据官方文档,搭建Ghost博客分为四步:
- 新建一个用户,并赋予sudo权限。如果已经切换到root用户,可略过;
- 安装Nginx、Mariadb和NodeJS。这几个软件基本上是web开发必备,所以一般情况下也可略过;
- 安装Ghost-CLI。国内用户建议使用淘宝镜像安装,比如用cnpm就比npm快很多:
cnpm install -g ghost-cli
- 用Ghost-CLI安装Ghost:
ghost install
。这条命令应当在web目录下运行,例如/var/www/ghost
。安装过程中会提示输入站点网址、数据库等信息,按照提示操作即可。
官方的教程基于Ubuntu,在其他操作系统上可能会遇到一些其他问题,例如CentOS下systemctl
命令总会执行出错。出错后会终端安装过程,可使用ghost doctor
命令检查问题所在。
正常安装完成后会创建类似ghost_ghost-tlanyan-me
的系统服务并启动。ss -nltp|grep node
命令可查看Ghost是否启动以及监听端口。
配置
安装无误并正常启动后,可打开浏览器输入网址访问站点,会看到默认生成了几篇教程文章。此时站点还没有主人,需要先注册一个账号成为管理员认领。比较坑爹的是首页上没有后台的入口,需要手动在地址栏输入任意一个后台网址,由于站点没认领,最终会重定向到注册页面。根据经验尝试,一些可用的后台入口路径有:login
、admin
、ghost
。例如输入ghost.tlanyan.me/login
,站点无属主时会定向到注册页面,被认领后定向到登录界面。
按照提示输入账号等信息,最后一步需要填写团队其他成员的邮件,不填写无法下一步,这时只需随便输入一个电子邮箱即可,例如test@abc.com
。注册成功后便进入管理后台,可对站点做一些自定义设置。
在开始写作前需要做的一些设置有:
-
General
中设置站点标题、时区、Logo、封面等; -
Design
中新增菜单项; -
Code injection
中输入统计代码、自定义类等;
邮件设置比较重要,但在后台无法更改。在站点目录下找到Ghost的配置文件(生产环境下是config.production.json
),根据官网教程配置邮箱信息并重启服务即可。
导入
如果之前在其他平台写作过并向用新站点代替旧站点,导入原有站点数据是有必要的。Ghost官方支持从WordPress导入数据,操作步骤如下:
- 登录到WordPress站点,安装Ghost插件并启用。注意是Ghost,不是
Ghost importer
,后者是导入Ghost站点数据到WordPress平台; - 在“工具”中找到“Export to Ghost”,拖到最后点击“Download Ghost File”,保存json文件;
- SSH连到服务器,打包上传的文件并下载;
- 将json文件中的
/wp-content/uploads/
替换成 `/content/images/; - 进入Ghost后台中的Labs,找到
Import content
,将json文件和打包的文件导入。
导入过程中一些数据可能会丢失,例如分类、评论。Ghost使用Disqus作为评论插件,启动评论功能需注册Disqus账号。如果需要导入WordPress评论,在WordPress上要安装Disqus插件,然后导出评论到Disqus。用新站点替换旧站点后,相同URL的评论会自动展示出来。
导出过程会有一些限制和警告,请根据提示自行处理。
完成设置和导入后,点击“New story”开始新平台的写作之旅吧!
总结
总结来说,Ghost的优点如下:
- 简单、简洁,专注博客写作;
- 轻量、高性能;
- SEO友好、页面自适应。
不足之处也很明显:
- 非Ubuntu安装过程略显麻烦。作为一个经验丰富的Linux玩家,安装过程中尚且碰到多次错误,耗时将近半小时,对新手困难可想而知(用Ubuntu也许很简单)。从官网信息看,官方的主要精力是推广付费托管服务;
- 插件少。除了内置的几款,没找到其他插件;
- 功能少。图片、附件、评论、分类等功能均无或依赖第三方;
- 主题少。Ghost的官方主题站仅有三款免费主题。
安装和体验花费一个多小时,整体感觉不如人意,最终未转移到新平台上。Ghost版的本博客展示网址为:http://ghost.tlanyan.me。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。