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

免费建站   2023年10月09日 12:35  

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: 'postmaster@tryghosttest.mailgun.org',
            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: 'youremail@gmail.com',
            pass: 'yourpassword'
        }
    }
}

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


mail: {
    fromaddress: 'myemail@address.com',
}

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博客。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

域名注册
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

在这个部落村庄里,已经有71 位神马家族成员冒出泡来在农场开始干活了
  • liqiu 6

    沙发?
    话说还是喜欢typecho。

    whyy 回复:

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

    外星人源码论坛 回复:

    @whyy, 我也来露露脸

    包子 回复:

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

    这是农场的第 1 块农田,部落批准 [liqiu] 在[2014-8-5 17:54]开垦完成.
  • whyy 2

    留个名字

    这是农场的第 2 块农田,部落批准 [whyy] 在[2014-8-5 17:54]开垦完成.
  • 极雪 15

    前排!

    这是农场的第 3 块农田,部落批准 [极雪] 在[2014-8-5 18:23]开垦完成.
  • 超級efly 17

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

    这是农场的第 4 块农田,部落批准 [超級efly] 在[2014-8-5 19:05]开垦完成.
  • rikka 3

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

    qi 回复:

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

    rikka 回复:

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

    liqiu 回复:

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

    rikka 回复:

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

    超級efly 回复:

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

    liqiu 回复:

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

    包子 回复:

    @rikka, firefox不支持

    qi 回复:

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

    rikka 回复:

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

    rikka 回复:

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

    qi 回复:

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

    极雪 回复:

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

    rikka 回复:

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

    这是农场的第 5 块农田,部落批准 [rikka] 在[2014-8-5 19:28]开垦完成.
  • Sang 2

    前排~

    这是农场的第 6 块农田,部落批准 [Sang] 在[2014-8-5 20:11]开垦完成.
  • 安装好麻烦,我还是老老实实用wp和zblog了。

    这是农场的第 7 块农田,部落批准 [北门放羊] 在[2014-8-5 20:40]开垦完成.
  • 又一个需要VPS的… :smile:

    David Huang 回复:

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

    这是农场的第 8 块农田,部落批准 [何朝城] 在[2014-8-5 21:42]开垦完成.
  • MBM 1

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

    这是农场的第 9 块农田,部落批准 [MBM] 在[2014-8-5 22:59]开垦完成.
  • 话说这个感觉操作上有点麻烦

    这是农场的第 10 块农田,部落批准 [心随梦飞] 在[2014-8-5 23:08]开垦完成.
  • 以前听说过,一直都没去玩~

    这是农场的第 11 块农田,部落批准 [无纯洁] 在[2014-8-5 23:39]开垦完成.
  • 还是希望TYPECHO

    这是农场的第 12 块农田,部落批准 [尤锃威] 在[2014-8-6 03:41]开垦完成.
  • 终于有一篇我懂的文章了

    这是农场的第 13 块农田,部落批准 [吴尼玛] 在[2014-8-6 11:18]开垦完成.
  • 不认识 17

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

    锦程 回复:

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

    这是农场的第 14 块农田,部落批准 [不认识] 在[2014-8-6 11:51]开垦完成.
  • cyqsd 1

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

    qi 回复:

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

    这是农场的第 15 块农田,部落批准 [cyqsd] 在[2014-8-6 15:40]开垦完成.
  • Kung 23

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

    David Huang 回复:

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

    这是农场的第 16 块农田,部落批准 [Kung] 在[2014-8-6 16:15]开垦完成.
  • 求windowsazure的激活码! 谁有 给一个呗! qi哥 你呢?

    qi 回复:

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

    这是农场的第 17 块农田,部落批准 [外星人源码论坛] 在[2014-8-6 16:43]开垦完成.
  • 烟花易冷

    不错,来赞一个

    这是农场的第 18 块农田,部落批准 [烟花易冷] 在[2014-8-6 17:37]开垦完成.
  • 潮流台 11

    好麻烦

    这是农场的第 19 块农田,部落批准 [潮流台] 在[2014-8-6 17:42]开垦完成.
  • Rich 10

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

    liqiu 回复:

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

    这是农场的第 20 块农田,部落批准 [Rich] 在[2014-8-6 19:47]开垦完成.
  • Air 5

    感觉好复杂的赶脚

    这是农场的第 21 块农田,部落批准 [Air] 在[2014-8-6 22:14]开垦完成.
  • changzh

    希望有一键包

    这是农场的第 22 块农田,部落批准 [changzh] 在[2014-8-7 08:50]开垦完成.
  • theme

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

    这是农场的第 23 块农田,部落批准 [theme] 在[2014-8-7 09:26]开垦完成.
  • yqszxx

    求一枚论坛邀请码

    qi 回复:

    @yqszxx, 用这个:rtavvv

    这是农场的第 24 块农田,部落批准 [yqszxx] 在[2014-8-7 10:06]开垦完成.
  • jason 16

    还是wordpress好玩

    这是农场的第 25 块农田,部落批准 [jason] 在[2014-8-7 20:23]开垦完成.
  • 阿飞博客 1

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

    这是农场的第 26 块农田,部落批准 [阿飞博客] 在[2014-8-7 20:26]开垦完成.
  • 老牛博客 2

    玩的越来越高端了额~~ :roll:

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

    qi 回复:

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

    这是农场的第 27 块农田,部落批准 [老牛博客] 在[2014-8-7 22:44]开垦完成.
  • 洛克 14

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

    qi 回复:

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

    这是农场的第 28 块农田,部落批准 [洛克] 在[2014-8-8 08:00]开垦完成.
  • 中之易

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

    这是农场的第 29 块农田,部落批准 [中之易] 在[2014-8-8 14:09]开垦完成.
  • 洛克 14

    windowsAzure 的概述 帐单历史记录

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

    是什么啊
    我的快超额啦

    这是农场的第 30 块农田,部落批准 [洛克] 在[2014-8-8 16:52]开垦完成.
  • 博主有没有考虑过直接用root账号运行ghost博客程序的安全性问题?我直接用root账号运行,不知道有没有问题。反正php是绝对不敢用root账号的。

    qi 回复:

    @David Huang, 有风险。

    这是农场的第 31 块农田,部落批准 [David Huang] 在[2014-8-11 17:21]开垦完成.
  • 东隅 2

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

    这是农场的第 32 块农田,部落批准 [东隅] 在[2014-8-11 22:08]开垦完成.
  • 你应该做一个在BAE之类的平台上按照的教程。

    qi 回复:

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

    这是农场的第 33 块农田,部落批准 [尤锃威] 在[2014-8-22 01:40]开垦完成.
  • Jasonlong

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

    这是农场的第 34 块农田,部落批准 [Jasonlong] 在[2014-10-12 10:41]开垦完成.
  • 四弦 4

    老大,装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, 已补完

    这是农场的第 35 块农田,部落批准 [四弦] 在[2015-6-17 07:17]开垦完成.
  • xianggu

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

    qi 回复:

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

    这是农场的第 36 块农田,部落批准 [xianggu] 在[2015-10-11 22:55]开垦完成.
  • xianggu

    需要先购买一个域名吗

    qi 回复:

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

    这是农场的第 37 块农田,部落批准 [xianggu] 在[2015-10-12 16:58]开垦完成.
看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部