现在位置: 首页 > 免费建站 > 正文

Ghost博客安装与使用教程-Node.js,Nginx,MySQL,Ghost搭建与配置

2014年08月05日 评论数 71 ⁄ 被围观 17,637 个+

Ghost博客安装与使用教程-Node.js,Nginx,MySQL,Ghost搭建与配置

Ghost博客是一个基于Node.js 的开源博客平台,由前WordPress UI 部门主管John O’Nolan 和WordPress 高级工程师Hannah Wolfe 创立,目的是为了给用户提供一种更加纯粹的内容写作与发布平台。

目前来看,Ghost博客相对于Wordpress来说没有太明显的优势,现在的用户也都是码农们和喜欢尝鲜的朋友居多。当然Ghost博客体验良好的markdown编辑器、响应式前后台设计、采用的实时架构,让博客变得更有效率。

Ghost博客从2013年10月开始发布,现在已经更新了多个版本,各方面也逐渐完善起来了,但是普及率还有待于提高。Ghost需要Node.js环境和搭建难度过大,应该是Ghost博客推广的主要障碍。未来Ghost博客有很大的发展潜力。

本篇文章就来分享一下在VPS上安装Node.js,Nginx,MySQL,搭建Ghost博客的全过程。更多的新颖的论坛、博客等网站程序还有:

Ghost博客安装与使用教程-,Nginx,MySQL,Ghost搭建与配置

一、安装Node.js和Nginx

1、Node.js官网:

  • 1、官方网站:https://nodejs.org/

2、Node.js是一个可以快速构建网络服务及应用的平台,基于Chrome’s JavaScript runtime,即Google V8引擎,是一款高性能的服务架构平台。

3、Ubuntu系统上执行以下代码即可安装Node.js。(其它的操作系统可以参考官方的相关说明)


apt-get update
apt-get install -y python-software-properties python g++ make  
apt-get install software-properties-common
add-apt-repository ppa:chris-lea/node.js
apt-get update
apt-get install nodejs

4、安装过程中会有一些提示,直接回车,继续安装。

Ghost博客安装Node.js

5、执行命令:node -v,可以查看是否成功安装Node.js,npm -v可以查看是否安装了npm。

Ghost博客查看是否安装成功

6、安装Nginx只需要执行一段命令:apt-get install nginx。然后重启服务:service nginx restart,刷新网页就能看到提示了。

Ghost博客启动Nginx

二、为Ghost安装好MySQL

1、Ghost默认采用 Sqlite3 数据库,习惯使用Mysql数据库的,可以直接在VPS上安装MysqL数据库,执行命令:


apt-get install mysql-server mysql-client

2、安装的过程中会要求输入MysqL的Root密码。

Ghost博客安装MysqL数据库

3、为了确保MysqL的安全性,执行:mysql_secure_installation,来对MysqL进行相关的安全设置,主要是选择是否删除MysqL默认用户、测试数据库、远程登录等。(点击放大)

Ghost博客对MysqL进行安全设置

三、为Ghost配置好Nginx

1、执行命令:mysql -uroot -p -e ‘create database ;’  可以创建一个名为ghost的数据库,这个数据库是用于Ghost博客的。

2、接下来进入 /etc/nginx/sites-available/ 目录设置配置文件。


cd /etc/nginx/sites-available/
touch ghost.conf
vim ghost.conf

3、将以下内容添加进去,然后保存。记得把域名更换成自己的。


server {  
    listen 80;
    server_name gh.freehao123.info;

    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         https://127.0.0.1:2368;
    }
}

Ghost博客添加Nginx配置文件

4、最后添加一个链接到/etc/nginx/sites-enabled/ 目录下。


sudo ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/ghost.conf

Ghost博客添加软链接

5、安装 forever,执行命令:


npm install forever -g

6、安装过程中会有一些警告,不用管它。

Ghost博客一些警告

四、安装并运行Ghost博客

1、执行以下命令下载并解压Ghost。


apt-get install unzip
cd /srv/
wget https://ghost.org/zip/ghost-0.4.2.zip
unzip ghost-0.4.2.zip -d ghost

Ghost博客下载安装包

2、接着进入ghost目录中,重命名配置文件:cp config.example.js config.js,接着编辑:vim config.js,修改production一段的内容,把MysqL数据库信息填写进去。代码如下:


host     : '127.0.0.1',
user     : 'root', 
password : '123456', 
database : 'ghost',
charset  : 'utf8'

Ghost博客添加MysqL信息

3、安装Ghost的npm包。执行命令:npm install –production。国内的VPS可能无法成功安装sqlite3,不过我们已经采用了MysqL了,所以可直接在执行安装依赖包前到package.json中将sqlite3给删除。

Ghost博客删除安装包

4、启动并运行Ghost博客。


service nginx restart
npm install forever -g
NODE_ENV=production forever start index.js
forever list # 查看进程
forever stop index.js #停止进程

Ghost博客用Forever运行

5、这时将你的域名解析到你的服务器IP上,待DNS生效后,打开域名,就可以看到Ghost博客已经成功运行了。

Ghost博客成功运行

五、Ghost博客管理与使用

1、首次使用Ghost博客,进入:域名/ghost/,然后输入你的邮箱注册一个用户。

Ghost博客运行成功

2、在Ghost博客的“一般设置”中可以更改您的博客标题、描述、Logo、每页显示多少篇文章、设置主题等。

Ghost博客设置标题

3、在User设置中可以对作者的信息进行相应的修改。

Ghost博客设置作者信息

4、Ghost博客发布文章使用Markdown语法。基本的语法也比较简单,了解以下几个即可:

  • H1 : # 标题 1
  • H2 : ## 标题 2
  • H3 : ### 标题 3
  • H4 : #### 标题 4
  • H5 : ##### 标题 5
  • H6 : ###### 标题 6
  • 链接 : [标题](URL)
  • 粗体 : **粗体**
  • 斜体 : *斜体*
  • 段落 : 段落间行空间
  • 列表 : * 每个列表项前的星号
  • 引用 : > 引用
  • 代码 : `代码`
  • HR : ==========

5、也可以直接看下图。(点击放大)

Ghost博客写文章

6、特别是当输入 ![]() 时,Ghost博客的编辑器中可以出现一个图片上传框,可以从桌面拖动和删除任何图像(.png, .gif, .jpg) 到图像上传框,把它列入您的文章中,或者点击图片上传框使用标准图像上传弹出窗口。

Ghost博客直接上传图片

7、写好的文章点击下方的发布即可。

Ghost博客发布文章

六、Ghost博客设置SMTP发邮件

1、Ghost博客需要使用SMTP来发邮件,如果是国外的空间,可以使用国外的提供SMTP发邮件的邮箱,例如:免费超大量邮件发送服务Amazon SES和Mailgun提供SMTP和API支持

2、如果是使用国内的空间,则除了可以使用国外的SMTP服务,还可以使用国内的免费企业邮箱或者免费邮箱提供的SMTP,例如:各大免费邮箱邮件群发账户SMTP服务器配置及SMTP发送量限制情况

3、给Ghost博客设置SMTP只需要编辑:vim config.js,在production下的Mail中加入SMTP信息即可。

Ghost博客填写SMTP信息

4、Mailgun的SMTP类似于这样的:


mail: {
    transport: 'SMTP',
    options: {
        service: 'Mailgun',
        auth: {
            user: '[email protected]',
            pass: '25ip4bzyjwo1'
        }
    }
}

5、亚马逊SES类似于这样:


mail: {
    transport: 'SMTP',
    host: 'YOU-SES-SERVER-NAME',
        options: {
            port: 465,
            service: 'SES',
            auth: {
                user: 'YOUR-SES-ACCESS-KEY-ID',
                pass: 'YOUR-SES-SECRET-ACCESS-KEY'
            }
        }
}

6、Gmail类似于这样:


mail: {
    transport: 'SMTP',
    options: {
        service: 'Gmail',
        auth: {
            user: '[email protected]',
            pass: 'yourpassword'
        }
    }
}

7、最后你还可以指定发件人,命令类似于:


mail: {
    fromaddress: '[email protected]',
}

8、这是Ghost博客使用SMTP发的邮件。

Ghost博客成功发送邮件

七、Ghost博客Google Fonts字体、备份和设置Apache反代

1、Ghost博客默认的主题加载了Google Fonts,导致博客打开变慢或者根本上打不开,解决的办法就是去掉主题中加载的Google Fonts链接。

2、Ghost博客后台去掉Google Fonts需要进入到:core/server/views/default.hbs和core/server/views/user-error.hbs,把里面的fonts.googleapis.com链接删除了。

3、默认的主题去掉Google Fonts需要进入到:content/themes/casper/default.hbs,把里面的fonts.googleapis.com链接删除了。

4、Ghost博客备份与恢复。Ghost 博客的所有文章内容都是存储在 sqlite3 数据库中的,其位置是 /content/data/ghost.db。另外,所有上传的图片都放在了 /content/images/ 目录下。本文中我们采用MysqL数据,故只需要进入到服务器中的MysqL将SQL导出即可,当然也可以使用PhpMyAdmin来管理MysqL文件。

5、Ghost博客自带了一个备份与恢复的页面,地址是:域名/ghost/debug/。 点击 Export 按钮就可以将博客内容导出为 .json 文件,还有一个导入工具 Import ,可以将 .json 格式的备份内容导入Ghost 系统。 最后一个红色按钮 Delete all content 是用来删除所有内容(即清空数据库)。

Ghost博客备份与恢复

6、设置Apache反代。本文中使用了Nginx作为Ghost博客的反代,如果你喜欢使用Apache,可以用以下代码实现Apache反代Ghost。

7、CentOS(或Redhat)系统中,Apache 的配置文件位于 /etc/httpd/conf.d 目录下;而 Ubuntu 系统中则是位于 /etc/apache 目录下。将下面给出的这段配置信息添加到 Apache 的配置文件中(注意替代成你的域名):


NameVirtualHost *:80  
<VirtualHost *:80>
     ServerName your-domain-name.com
     ServerAlias www.your-domain-name.com
     ProxyRequests off
     ProxyPass / https://127.0.0.1:2368/
     ProxyPassReverse / http:/127.0.0.1:2368/
</VirtualHost>

8、如果你想用Apache反代多个Ghost博客,使用以下代码:


NameVirtualHost *:80  
<VirtualHost *:80>
     ServerName your-domain-name.com
     ServerAlias www.your-domain-name.com
     ProxyRequests off
     ProxyPass / https://127.0.0.1:2368/
     ProxyPassReverse / http:/127.0.0.1:2368/
</VirtualHost>
<VirtualHost *:80> 
     ServerName yoursecond--domain-name.com
     ServerAlias www.yoursecond--domain-name.com
     ProxyRequests off
     ProxyPass / https://127.0.0.1:8080/
     ProxyPassReverse / https://127.0.0.1:8080/
</VirtualHost> 

9、最后重启 Apache生效。在 CentOS 系统中执行如下命令: service httpd restart;在 Ubuntu 系统中执行: service apache2 restart。

文章出自:免费资源部落 文章中部分代码参考ghostchina.com博客。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

共有 71 条留言 访客:71 条 博主:0 条

  1. xianggu  2015.10.12 回复

    需要先购买一个域名吗

    qi 回复:

    @xianggu, 是的,需要一个域名,或者在别的地方的域名也可以。

  2. xianggu  2015.10.11 回复

    将域名如何接下到阿里云服务器上呢

    qi 回复:

    @xianggu, 使用DNS解析即可,在阿里云上绑定好域名。

  3. 四弦  2015.06.17 回复

    老大,装ghost依赖包的时候漏了一句npm install forever -g
    forever要先安装,不然NODE_ENV那条不能用

    qi 回复:

    @四弦, 在哪一步安装这个?

    四弦 回复:

    @qi, 在NODE_ENV=producion forever start index.js之前。而且forever这个是守护进程,没有调试输出,建议运行这个之前先在ghost目录运行下
    npm start –production 可以看到一些很有用的调试信息
    我博客上有一篇关于ghost环境搭建的文章,顺便投下稿= =点进去就有

    qi 回复:

    @四弦, 谢谢,已经更新。你的博客的图片已经显示不出来了,能否发一份给我?

    四弦 回复:

    @qi, 稍等,我补上

    四弦 回复:

    @qi, 已补完

  4. Jasonlong  2014.10.12 回复

    感谢!目前我的ghost搭建在自己的cpanel主机上 [url]https://www.rasname.com/cart.php?gid=10[/url]

  5. 尤锃威  2014.08.22 回复

    你应该做一个在BAE之类的平台上按照的教程。

    qi 回复:

    @尤锃威, BAE空间今后应该是收费线路,所以用户估计不会很多,如果现在投入过多的精力放在BAE,可能会得不偿失。

  6. 东隅  2014.08.11 回复

    感觉还是有点繁琐,先找个好编辑的平台把内容和体验做好。

  7. David Huang  2014.08.11 回复

    博主有没有考虑过直接用root账号运行ghost博客程序的安全性问题?我直接用root账号运行,不知道有没有问题。反正php是绝对不敢用root账号的。

    qi 回复:

    @David Huang, 有风险。

  8. 洛克  2014.08.08 回复

    windowsAzure 的概述 帐单历史记录

    存储交易(以 10,000 计) – 数据管理

    是什么啊
    我的快超额啦

  9. 中之易  2014.08.08 回复

    强大,专业,又要学习一陈才行了!

  10. 洛克  2014.08.08 回复

    qi有没有用过https://vpsdime.com/的vps啊
    4 vCPU 6GB Memory30GB Storage2TB Traffic Limit1Gbps Connection 只要7刀

    qi 回复:

    @洛克, 没用过,新出来的吗?

  11. 老牛博客  2014.08.07 回复

    玩的越来越高端了额~~ 🙄

    最近更新的比较少~~、、难道在做新项目啊?

    qi 回复:

    @老牛博客, 是的,没有时间了。

  12. 阿飞博客  2014.08.07 回复

    强大,专业,一般人折腾不起~

  13. jason  2014.08.07 回复

    还是wordpress好玩

  14. yqszxx  2014.08.07 回复

    求一枚论坛邀请码

    qi 回复:

    @yqszxx, 用这个:rtavvv

  15. theme  2014.08.07 回复

    给大家推荐一个简洁的Ghost主题 https://github.com/jasonslyvia/alarm

  16. changzh  2014.08.07 回复

    希望有一键包

  17. Air  2014.08.06 回复

    感觉好复杂的赶脚

  18. Rich  2014.08.06 回复

    :mrgreen: 我的自动回复机太强悍了,刚刚一不小心点了两下~~

    liqiu 回复:

    @Rich, 真的太强悍了、、、

  19. 潮流台  2014.08.06 回复

    好麻烦

  20. 烟花易冷  2014.08.06 回复

    不错,来赞一个

  21. 求windowsazure的激活码! 谁有 给一个呗! qi哥 你呢?

    qi 回复:

    @外星人源码论坛, 我这边暂时没有。

  22. Kung  2014.08.06 回复

    ghost看起来还是很好看的。。。我如果有时间的话就去试试。。不知道我的博客为什么请求头部的时候那么慢。。有大神去看看么

    David Huang 回复:

    @Kung, 你的blog打开很快啊。。
    Ghost博客在openshift上很容易建,而且博客程序消耗非常小,不过经常要DIY,可以参考我那篇文章。

  23. cyqsd  2014.08.06 回复

    ghost这种博客程序好是好,就是不能在线编辑。没有wordpress这么方便。

    qi 回复:

    @cyqsd, 可以在线编辑,但是不是普通的HtmL,刚入手时会不习惯。用久了就可以了。

  24. 不认识  2014.08.06 回复

    能把它放在后端,通过FastCGI方式传输到前端Nginx,那么,是不是也能把Apache部署进来?

    锦程 回复:

    @不认识, 是的,也是可以的,不过网上教程一般都是英文文章。

  25. 吴尼玛  2014.08.06 回复

    终于有一篇我懂的文章了

  26. 尤锃威  2014.08.06 回复

    还是希望TYPECHO

  27. 无纯洁  2014.08.05 回复

    以前听说过,一直都没去玩~

  28. 心随梦飞  2014.08.05 回复

    话说这个感觉操作上有点麻烦

  29. MBM  2014.08.05 回复

    就听说ghost大名,就是没用过

  30. 何朝城  2014.08.05 回复

    又一个需要VPS的… 🙂

    David Huang 回复:

    @何朝城, 参考这个,不需要vps的:https://hjc.im/free-ghost-blog-openshift-guide/

  31. 北门放羊  2014.08.05 回复

    安装好麻烦,我还是老老实实用wp和zblog了。

  32. Sang  2014.08.05 回复

    前排~

  33. rikka  2014.08.05 回复

    前排,投了稿没回邮件真是伤心_(:3」∠)_。

    qi 回复:

    @rikka, 博主是发的空间的投稿吗?

    rikka 回复:

    @qi, 直接发你的gmail邮箱的…关于免费ssl证书的…文章是链接形式的…因为确定支持tk域名了所以想拿来共享。

    liqiu 回复:

    @rikka, 是wosign吗,它不支持firefox

    rikka 回复:

    @liqiu, 没错wosign的,firefox不支持吗?我是c党所以不是很清楚。不过根据startSSL解决方法的思路把根证书一起提供应该就能解决了吧?

    超級efly 回复:

    @rikka, wosign不支持Mac或安卓等…只支持Windows… ➡

    liqiu 回复:

    @超級efly, 话说你用的是mac吗

    包子 回复:

    @rikka, firefox不支持

    qi 回复:

    @rikka, 是不是好久以前的?我再去找找。

    rikka 回复:

    @qi, 8/4发的邮件,标题直接是投稿。很有可能进垃圾桶了。[email protected]这个邮箱应该没错吧?(如果咱家发错邮箱就成逗比了…)

    rikka 回复:

    @qi, 8/4发的邮件,标题直接是投稿。应该是直接发到freehao123#gmail.com吧?(如果搞错邮箱的话咱家就成逗比了…)

    qi 回复:

    @rikka, 就是这个。也可以发到我的QQ邮箱。

    极雪 回复:

    @rikka, wosign太渣了,免费的只支持winodws平台、而且很多浏览器都不信任。。。。上次玩过就丢了

    rikka 回复:

    @极雪, 支持还好吧ie+chrome都可以。发放速度快+支持tk域名,所以是拿来测试用的。不过freenom太吓人了,随随便便就把域名炸了收回。测试平台白做了,吓得我都潜行了_(•̀ω•́ 」∠)_

  34. 超級efly  2014.08.05 回复

    今天簽到啦!時間:下午7:05:29~歡迎訪問AREFLY.COM~~ 😛

  35. 极雪  2014.08.05 回复

    前排!

  36. whyy  2014.08.05 回复

    留个名字

  37. liqiu  2014.08.05 回复

    沙发?
    话说还是喜欢typecho。

    whyy 回复:

    @liqiu, 打错邮箱,让你抢了沙发 ➡

    外星人源码论坛 回复:

    @whyy, 我也来露露脸

    包子 回复:

    @liqiu, 太麻烦了,接受不了这货

给我留言

返回顶部