阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下Ghost 博客系统安装教程

496次阅读
没有评论

共计 4201 个字符,预计需要花费 11 分钟才能阅读完成。

先放出 Ghost 博客项目地址:https://github.com/tryghost/Ghost

前言

Ghost 这个博客系统可真是难装,第一次装失败后放弃了一段时间,转而用的 JustWriting,但是这个系统也太精简了 …… 之后我决定回归 ghost!我在一个国外哥们儿的博客上找到了一篇 Ghost 安装参考教程,结合官网文档略加修改成功安装。后来经历了好几次重装和升级,我现在对 Ghost 的安装和配置已经轻车熟路。顺便吐槽一下,官方文档写的有点混乱,各种链接跳来跳去,完全不按流程来,我第一次安装愣是没看懂。那里面还要求用浏览器打开本地 2368 端口进行预览,我 VPS 连个图形界面都没有,预览个啥。

好了,废话不多说,正文开始,本文对官网教程做了整编,让你轻松拥有自己的博客。

Ghost+Web 服务器转发原理介绍

官方文档建议使用 Nginx 作为 Ghost 的前端来转发 80 端口请求,那么 Ghost 的工作总流程就可以描述为:

Nginx 监听 80 端口,Ghost 一直监听本地 127.0.0.1:2368 端口,你从外网访问 www.xxx.com 时,Nginx 从 80 端口接收请求,将之转发到本地 127.0.0.1:2368 端口,然后 Ghost 就收到访问请求了。

可是为什么不直接让 Ghost 使用 80 端口呢却要依赖 Web 服务器转发呢?这是因为 Ghost 需要运行在 root 权限上,为了避免风险,就用 Nginx 转发一下。另外,Nginx 毕竟是 Web 服务器,配置灵活、并发高,用来做 Ghost 的前端是非常适合的,如果你服务器上还有其他网站那就更要用 Nginx 了,不然你的 80 端口给了 Ghost 就没法负载其他网站了。

​有的朋友的服务器上本来就有 Apache 支撑的其他网站,现在又要装 Nginx,这两者不可能同时存在,不然 80 端口不够分的,看起来好麻烦,怎么办?这篇教程除了提供 Ghost+Nginx 的方案外,还提供了 Ghost+Apache 的方案来作为示例,不管你熟悉哪一个,总有一个适合你。

Ghost 采用 Node.js 编写,默认使用 SQLite3 数据库,非常轻量,因为是文件型数据库,所以无需安装。Ghost 还有强大的社区支持,创始人本身也在用这个软件进行商业化运营提供收费托管服务,软件开发的流程非常规范,开发者社区运作井井有条,不用担心这软件得不到维护。

你还在使用 WordPress 这个大家伙吗,赶紧投奔 Ghost 吧。

演示环境

系统配置:CentOS 6.X

首先你要有一台 VPS,并且有一个域名,这里不展开讲怎么购买了,本文主要针对具备 Linux 使用基础并且已有建站经验的朋友。

下面的步骤假设你有一个域名,拿我的域名 linuxidc.com 做示例吧!

Fire up your terminal !

准备步骤

Node.js 的安装

安装 4.4 LTS 版的 node.js,编译安装太麻烦,可以直接去 Google 搜索下载二进制包,解压并将得到的目录重命名为 node 放入 /usr/local/ 系统目录下,然后在 /etc/profile 里追加一行export PATH=$PATH:/usr/local/node/bin,你可以直接编辑文件,也可以通过如下命令做到这一点:

echo export PATH=$PATH:/usr/local/node/bin >> /etc/profile

再用 source 命令让这个设置生效:

source /etc/profile

Web 服务器的安装

安装 Nginx 或者 Apache(httpd),自己选择吧!这里不展开讲了,实在是太简单了。

创建 Ghost 目录

创建 Ghost 目录,mkdir /var/ghost

下载 Ghost 解压

cd /var/ghost切换到 Ghost 目录,去官网把 Ghost 软件包下载下来,然后 unzip ghost-xxx.zip 解压软件包,解压后你会发现所有的文件都散在当前目录里了。

Ghost 安装流程

之后的步骤都在 /var/ghost 目录里进行,请提前切换到 root 用户,免得麻烦!

安装相关依赖模块

npm install --production

官网上的说明里,这一步没有加参数 -g,不要乱加。既然没有加 -g,那就是本地安装而非全局安装,安装位置在本目录下的 node_modules/

初次运行

直接启动,让 Ghost 做一些初始化操作

npm start --production

在这期间你会看到一些输出,如果有红色字体标明的 Error 提示,说明出现了错误。

结束初次运行

然后 Ctrl+ C 关闭 Ghost,我们还要继续进行一些设置。

设置域名

Edit config.js and change the url: to your URL. 编辑 config.js 文件,将 production: 代码块内的

url: 'http://my-ghost-blog.com',

改为

url: 'http://linuxidc.com',

注意这里写的 URL 就是以后注册账号和登录后台时所用的 URL,必须完全一样,http 前缀也不能省略,如果注册时用的 URL 和这里的不一样,那么就会出现错误提示说无权限访问!

优化邮件设置

优化下邮件设置,让博客系统给自己发邮件时发件人地址更规范一些。编辑 config.js 文件,将 production: 代码块内的

mail: {},

改为

mail: {from: '"Hao Lee\'s Blog"<blog@linuxidc.com>'},

设置 Web 服务器

所有请求 linuxidc.com 的连接,都将被 Web 服务器转发至 Ghost 的 2368 端口。这也就允许你在同一台服务器上拥有其他网站,从而互不影响。

对于 Nginx 用户

打开 /etc/nginx/nginx.conf,在http 语句块内追加上:

server {
listen 80;
server_name linuxidc.com;

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

重启 Nginx

/etc/init.d/nginx restart

对于 Apache 用户

打开 /etc/httpd/conf/httpd.conf

`#NameVirtualHost *:80` 这一行取消注释

再在文件末尾加上如下语句,配置请求转发

<VirtualHost *:80>
    ServerName linuxidc.com
    ProxyRequests Off
    ProxyPreserveHost On
<Proxy *>
    AddDefaultCharset Off
    Order deny,allow
    Allow from all
</Proxy>
    ProxyPass / http://127.0.0.1:2368/
    ProxyPassReverse / http://127.0.0.1:2368/
</VirtualHost>

重启 httpd 服务,service httpd restart

完成这些后

现在启动 Ghost 并访问域名已经能进入博客页面了,但下面还需要实现 Ghost 后台运行,不然你退了终端的话 Ghost 就停止了。

使用 Forever 让 Ghost 后台运行

安装 forever 包

npm install forever -g

启动 Ghost 用这条命令

NODE_ENV=production forever start index.js

关闭 ghost 用这条命令

forever stop index.js

查看运行状态用这条命令

forever list

注册账户

forever 命令让 Ghost 后台运行,然后浏览器访问 http://www.example.com/ghost 就可以看到初始化界面。

开始注册吧,注册后就能使用你自己的博客了。

如果这一步提示说没有权限,那就是这里所用的 URL 和前面配置文件中所写的不一样,请检查下 config.js 文件或修改浏览器地址栏 URL。

系统重启后

系统重启后别忘了启动 Nginx 或 Apache,其实应该设成开机自启。

然后用 forever 后台运行 Ghost 即可。


后记

备注

为什么不直接让 ghost 监听 80 端口,而要 Web 服务器转发请求?

http://support.ghost.org/basic-nginx-config/

其他参考资料

  • 官网安装步骤:http://support.ghost.org/installing-ghost-linux/

  • 基本配置:http://support.ghost.org/getting-started/#step-3:-basic-ghost-configuration

  • 后台运行:http://support.ghost.org/deploying-ghost/#making-ghost-run-forever

  • 邮件设置:http://support.ghost.org/mail/#from-address

  • 第一次运行注册:http://support.ghost.org/ghost-first-run/

鸣谢

本文的 Apache 配置部分参考了:https://www.centosblog.com/install-ghost-blog-platform-centos-linux/

这文章里面的 1 - 4 步和第 6 步很有用。

第五步写的有点怪异,我们不参考了,而是按照官网的做法,先启动 Ghost 让其初始化配置文件,再对配置文件进行编辑 Edit config.js and change the url: to your URL.

CentOS 7 系统安装 Ghost 博客平台  http://www.linuxidc.com/Linux/2016-10/136410.htm

CentOS6 32 位安装 Ghost http://www.linuxidc.com/Linux/2015-09/123063.htm

Ubuntu14.04 搭建 Ghost 平台博客 http://www.linuxidc.com/Linux/2016-11/137337.htm

CentOS 7.2 搭建 Ghost 博客  http://www.linuxidc.com/Linux/2016-11/137336.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/137341.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4201字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7993803
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025 年 11 月 28 日 -Cloudflare 史诗级事故: 一次配置失误,引爆全球宕机 前言 继今...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
在Windows系统中通过VMware安装苹果macOS15

在Windows系统中通过VMware安装苹果macOS15

在 Windows 系统中通过 VMware 安装苹果 macOS15 许多开发者和爱好者希望在 Window...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...