以前用wordpress搭建个人博客,但是使用中总觉得少了点什么,直到某一天看到一位同学的技术博客,才感觉眼前一亮。是的,我需要的就是这种:简单方便,易于维护的博客。ghost正是我想要的。

环境要求

  • node:0.10.x 0.11.x和0.12.x版本可能遭遇安装错误,不推荐
  • npm:虽然官方推荐0.25.x版本,但使用中用0.29.x也没问题
  • ghost:从git://github.com/tryghost/ghost.git下载最新的ghost源码
  • 安装和启动服务

  • 安装node:nodejs官方直接下载的话是最新版的,需要从下载列表中找到以前版本的归档,或者从nodejs项目中检出0.10.x的tag
  • 安装npm:从npmjs官方找到相应版本并下载,或者从npm项目npm项目中下载所需分支
  • 启动ghost:进入ghost目录,执行命令npm start [--development|production]可启动开发或者生产模式
  • 启动后,根据提示访问相应地址即可,默认监听2368端口
  • 项目配置

  • config.js:进入ghost目录后有一个config.js或者config.example.js类似的配置文件,打开后发现部分配置如下:
  •     testing: {
            url: 'http://127.0.0.1:2369',
            database: {
                client: 'sqlite3',
                connection: {
                    filename: path.join(__dirname, '/content/data/ghost-test.db')
                }
            },
            server: {
                host: '127.0.0.1',
                port: '2369'
            },
            logging: false
        },
    
        // ### Testing MySQL
        // Used by Travis - Automated testing run through GitHub
        'testing-mysql': {
            url: 'http://127.0.0.1:2369',
            database: {
                client: 'mysql',
                connection: {
                    host     : '127.0.0.1',
                    user     : 'root',
                    password : '',
                    database : 'ghost_testing',
                    charset  : 'utf8'
                }
            },
            server: {
                host: '127.0.0.1',
                port: '2369'
            },
            logging: false
        },
    

    具体可以根据个人习惯,修改数据库类型或者监听端口

    常规部署

  • 上述中使用命令启动ghost服务,并不是后台模式,如果退出命令模式,服务就停止了。因此,正式部署的话,可以参照官方给出的部署说明。本文使用的是forever模式运行ghost:
  • Forever You can use forever to run Ghost as a background task. forever will also take care of your Ghost installation and it will restart the node process if it crashes.

  • To install forever type npm install forever -g
  • To start Ghost using forever from the Ghost installation directory type NODE_ENV=production forever start index.js
  • To stop Ghost type forever stop index.js
  • To check if Ghost is currently running type forever list
  • 博客管理和主题安装

  • 根据config.js中配置的url访问博客,地址后加/ghost进入管理界面(初次访问还需要设置管理员信息),进行站点名称等的设置
  • 主题安装,ghost目前提供了很多主题,可以从主题市场中下载相应主题到ghost/content/themes目录中,然后在管理界面选择启用相应主题即可
  • 文章发布

  • ghost使用markdown格式提供文档编写和实时预览,支持存草稿和SEO设置。在文章发布时,可以设置文章的显示url和tag,以及SEO相关的title和description项,还支持把文章设置为静态页供展示用。发布文章非常方便!
  • 遗憾之处:目前ghost还不支持文章分类和归档(虽然tag可以部分实现此功能,但于文章管理和分类来说,tag还是功能欠缺的),后续可以考虑自行实现分类和归档的功能。
  • 最后,感谢我们所处的时代,分享精神让我们轻松的获得方便的工具,避免重复发明轮子。精巧的设计主题,让使用者更专注于内容维护而非页面设计,感谢所有ghost的开发者! ps:ghost付费服务还支持很多功能,有兴趣的同学可以支持下。
    ps:推荐一个好用的vps服务商,搬瓦工。邀请链接https://bwh8.net/aff.php?aff=2476