Ghost博客安装与使用教程-Node.js,Nginx,MySQL,Ghost搭建与配置
文章目录
- 安装Node.js
- 安装好MySQL
- 安装Ghost博客
- Ghost管理使用
- 设置SMTP邮件
- 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、安装过程中会有一些提示,直接回车,继续安装。
5、执行命令:node -v,可以查看是否成功安装Node.js,npm -v可以查看是否安装了npm。
6、安装Nginx只需要执行一段命令:apt-get install nginx。然后重启服务:service nginx restart,刷新网页就能看到提示了。
二、为Ghost安装好MySQL
1、Ghost默认采用 Sqlite3 数据库,习惯使用Mysql数据库的,可以直接在VPS上安装MysqL数据库,执行命令:
apt-get install mysql-server mysql-client
2、安装的过程中会要求输入MysqL的Root密码。
3、为了确保MysqL的安全性,执行:mysql_secure_installation,来对MysqL进行相关的安全设置,主要是选择是否删除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;
}
}
4、最后添加一个链接到/etc/nginx/sites-enabled/ 目录下。
sudo ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/ghost.conf
5、安装 forever,执行命令:
npm install forever -g
6、安装过程中会有一些警告,不用管它。
四、安装并运行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
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'
3、安装Ghost的npm包。执行命令:npm install --production。国内的VPS可能无法成功安装sqlite3,不过我们已经采用了MysqL了,所以可直接在执行安装依赖包前到package.json中将sqlite3给删除。
4、启动并运行Ghost博客。
service nginx restart
npm install forever -g
NODE_ENV=production forever start index.js
forever list # 查看进程
forever stop index.js #停止进程
5、这时将你的域名解析到你的服务器IP上,待DNS生效后,打开域名,就可以看到Ghost博客已经成功运行了。
五、Ghost博客管理与使用
1、首次使用Ghost博客,进入:域名/ghost/,然后输入你的邮箱注册一个用户。
2、在Ghost博客的“一般设置”中可以更改您的博客标题、描述、Logo、每页显示多少篇文章、设置主题等。
3、在User设置中可以对作者的信息进行相应的修改。
4、Ghost博客发布文章使用Markdown语法。基本的语法也比较简单,了解以下几个即可:
- H1 :
# 标题 1
- H2 : ## 标题 2
- H3 : ### 标题 3
- H4 : #### 标题 4
- H5 : ##### 标题 5
- H6 : ###### 标题 6
- 链接 : [标题](URL)
- 粗体 : **粗体**
- 斜体 : *斜体*
- 段落 : 段落间行空间
- 列表 : * 每个列表项前的星号
- 引用 : > 引用
- 代码 : `代码`
- HR : ==========
5、也可以直接看下图。(点击放大)
6、特别是当输入 ![]() 时,Ghost博客的编辑器中可以出现一个图片上传框,可以从桌面拖动和删除任何图像(.png, .gif, .jpg) 到图像上传框,把它列入您的文章中,或者点击图片上传框使用标准图像上传弹出窗口。
7、写好的文章点击下方的发布即可。
六、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信息即可。
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博客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 是用来删除所有内容(即清空数据库)。
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博客。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。