一个开源的轻型博客,其具体的介绍可以查看官方网站,这里笔者仅写一些实战的东西。博客效果如下图,可以更换各种主题,当然也可以自定义主题:

  • 一个开源的轻博客系统,运行在nodejs环境中。
  • 安装即用,方便快捷。
  • 多款主题,随便选择,当然,你也可以创建自定义主题。
  • 支持邮件、云存储等等,npm下载你需要的任何组件
  • 过多不介绍,如果你想了解Ghost历史,请自行查询。

![](/content/images/2017/01/QQ–20170116150425.jpg)

  1. 首先,ghost运行在nodejs环境下, 首先你要安装nodejs、npm(nodejs的包管理工具)。
  2. 博客的文章存放在哪呢?当然是数据库了。所以你要搭建一台数据库,ghost默认数据库为sqlite,不过笔者还是建议使用mysql,毕竟其他数据库我不熟。
  3. nodejs本身可以当做服务器来使用,但为了负载均衡和一个服务器搭建多站点,笔者还是搭建了一台nginx,然后让nginx转发到nodejs服务器上。
  4. 当搭建完成之后,下载ghost包,然后安装、运行,这时,博客就搭建完成了。

1.安装环境(数据库、Nginx服务器、nodejs、npm)

  1. apt-get update
  2. apt-get install mysql-server
  3. apt-get install nginx
  4. apt-get install nodejs
  5. apt-get install npm

输入以下命令进行测试:

  1. nodejs -v
  2. npm -v
  3. mysql --version
  4. nginx -v

2.下载ghost包 到 Ghost中文网 下载集成包,因为使用npm install会很慢,并且容易出错。

3.将npm的源换成国内的源
临时使用:npm --registry https://registry.npm.taobao.org install package

package是需要安装的软件包名

永久使用:npm config set registry https://registry.npm.taobao.org

使用npm config get registry来查看是否配置成功

4.安装相应软件

  • 解压并进入到ghost目录:unzip ghost.zip -d blog
  • 进入到blog:cd blog
  • 安装相应扩展包:npm install

错误1:下载包时间过长,导致安装失败。很可能是因为换源的问题,解决方式就是换源;当然还可能是你的网速的原因。

错误2:sh: 1: node: not found,这是什么原因呢?系统中没有这个node命令,我们有的命令是nodejs,所以我们只需要将cp /usr/bin/nodejs /usr/bin/node复制一份即可,这时,node命令就存在了,二者作用一样。

5.安装成功

6.配置Nginx 因为我们安装了nginx,nginx默认监听80端口。这时,我们需要配置nginx,让nginx转发到nodejs搭建的服务器之上。

  1. cd /etc/nginx/site-available
  2. vim default

修改server下location选项,让nginx转发到nodejs

  1. ...(省略)
  2. server {
  3. ...(省略)
  4. server_name "修改成你自己的域名";
  1. location / {
  2. // 转发到nodejs服务器之上
  3. proxy_pass http://127.0.0.1:2368;
  4. // 注释掉下面这行,只留下上面这个参数
  5. // try_files $uri/ $uri/ = 404;

}
...(省略)

 

7.配置ghost相关选项 ghost根目录下有一个配置文件,为config.js;没有的话复制一份config.example.js即可。

  1. config = {
  2. production: {
  3. url: \'http://域名\',
  4. mail: {
  5. transport: \'SMTP\',
  6. from: \'邮箱@163.com\',
  7. options: {
  8. host: \'smtp.163.com\',
  9. port: 25,
  10. secureConnection: false,
  11. auth: {
  12. user: \'邮箱@163.com\',
  13. pass: \'邮箱授权码\'
  14. }
  15. }
  16. },
  1. // 配置MySQL 数据库
  2. database: {
  3. client: \'mysql\',
  4. connection: {
  5. host : \'127.0.0.1\',
  6. user : \'用户\',
  7. password : \'密码\',
  8. database : \'数据库\',
  9. charset : \'utf8\'
  10. },
  11. debug: false
  12. },
  13. server: {
  14. host: \'127.0.0.1\',
  15. port: \'2368\'
  16. },
  17. //Storage.Now,we can support `qiniu`,`upyun`, `aliyun oss`, `aliyun ace-storage` and `local-file-store`
  18. //storage: {
  19. // provider: \'local-file-store\'
  20. //}
  21. // 阿里云OSS
  22. storage: {
  23. provider: \'oss\',
  24. bucketname: \'你的bucketname\',
  25. ACCESS_KEY: \'密钥\',
  26. SECRET_KEY: \'密钥\',
  27. root: \'/image/\',
  28. endpoint: \'http://oss-cn-qingdao.aliyuncs.com\', //阿里云的上传端点是分地域的,需要单独设置
  29. prefix: \'http://blog-ghost.oss-cn-qingdao.aliyuncs.com\'
  30. }
  31. },

};
module.exports = config;

 

8.博客跑起来 项目根目录下,运行

  1. npm start --production

9.首次进入后台需要配置若干选项 URL地址:域名/ghost

傻瓜式操作,下一步下一步安装即可。

10.让nodejs一直运行

  1. npm install forever -g # 全局安装forever工具
  2. NODE_ENV=production forever start index.js # 生产模式后台运行ghost
  3. forever list # 查看后台运行程序
  4. forever stopall # 关闭所有

版权声明:本文为jhcyzxx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jhcyzxx/p/10480034.html