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

分类:免费建站 时间:2024年11月05日 来源:网络

文章目录

  • 安装Node.js
  • 安装好MySQL
  • 安装Ghost博客
  • Ghost管理使用
  • 设置SMTP邮件
  • Ghost字体备份

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博客的全过程。更多的新颖的论坛、博客等网站程序还有:

  • 1、静态博客:Hexo免费静态博客安装和使用方法-基于Node.js高效率静态博客程序
  • 2、RSS:Tiny Tiny RSS安装使用-搭建自己的RSS订阅服务器抛弃不靠谱RSS阅读
  • 3、论坛:Discourse安装使用-简洁强大Ruby on Rails免费开源论坛Discuz!替代品

Ghost博客安装与使用教程-Node.js,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的数据库,这个数据库是用于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博客。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

关于本站 博客网站 友情链接 广告合作 我要投稿 搜索资源 联系我们 订阅本站 购买主机
  • 账号登录
社交账号登录