从零搭建生产环境的ghost2.0博客

当前安装过程是在ghost cli 1.9.2上的,由于ghost更新特别快,我安装我个人博客cmlanche.com的时候还是1.9.1,当时没碰到啥问题,到1.9.2就有一点点不一样了,所以要注意当时你的安装版本。

针对安装过程我会针对ghost的更新不断更新文档

环境要求

安装设置官方文档:https://docs.ghost.org/docs/getting-started-guide

操作系统:Ubuntu 16.04 or Ubuntu 18.04 见主机购买文章:立即注册Vultr领取50美金红包

MySQL

Nginx(最低1.9.5,目的是为了安装SSL)

Systemd

NodeJS(推荐使用>=8.9 (Node v8 carbon LTS),不支持9+,10+)

至少1GB内存

在非root用户下执行ghost命令

环境安装

# 登录你的Ubuntu系统

sshroot@

# 添加系统新用户

adduser

# 提高该用户权限

usermod-aGsudo

# 登录到这个用户

su

# 更新Ubuntu的包管理工具apt-get

sudoapt-get update

sudoapt-get upgrade

# 安装Nginx

sudoapt-get install nginx

# 为http和https打开防火墙

sudoufw allow'Nginx Full'

# 安装MySql

sudoapt-get install mysql-server

# 登录到mysql,更新root密码

sudomysql

ALTER USER'root'@'localhost'IDENTIFIED WITH mysql_native_password BY'';

# 创建mysql数据库

create database

# 退出mysql

exit

# 以后你登录mysql,就需要这样了:

mysql-uroot-p

# 安装NodeJS

curl-sLhttps://deb.nodesource.com/setup_8.x |sudo-Ebash

sudoapt-get install-ynodejs

# 安装Ghost CLI

sudonpmi-gghost-cli

# 创建ghost安装目录,并赋予权限

sudomkdir-p/var/www/ghost

sudochown: /var/www/ghost# 比如我的用户名是test,那就用test:test

sudochmod775/var/www/ghost# 赋予该目录读写权限

# 将工作环境切换到ghost安装目录

cd/var/www/ghost

# 安装ghost

ghost install# 安装会默认使用mysql数据库,另外可以选择使用sqlite,生产环境当然用mysql了

环境排错

在使用ghost install安装的时候,报错:

✔ Checking system Node.js version

✔ Checking loggedinuser

✔ Checking current folder permissions

✔ Checking operating system compatibility

✔ Checkingfora MySQL installation

✔ Checking memory availability

✖ Checkingforlatest Ghost version

A ProcessError occurred.

Message: Command failed: yarn info ghost versions--json

{"type":"error","data":"An unexpected error occurred: \"EACCES: permission denied, scandir '/home/cmlanche/.config/yarn/link'\"."}

错误说/home/cmlanche/.config没权限,那么我们授予当前用户这个目录的权限:

sudochowncmlanche:cmlanche /home/cmlanche/.config

注意这里的cmlanche是我系统里面的用户名,你应该替换成你的用户名。

ghost安装必须在一个空目录,而刚刚出错,产生了一个叫yarn-error.log的文件,我们需要删掉它:

rm yarn-error.log

然后再次安装

ghost install

输出:

cmlanche@vultrhosting:/var/www/ghost$ ghostinstall

✔ Checking system Node.js version

✔ Checking loggedinuser

✔ Checking current folder permissions

✔ Checking operating system compatibility

✔ Checkingfora MySQL installation

✔ Checking memory availability

✔ Checkingforlatest Ghost version

✔ Setting up install directory

✔ Downloading and installing Ghost v2.1.0

✔ Finishing install process

? Enter your blog URL: (http://localhost:2368) https://www.vultrhosting.com

这样就表示ghost安装环境一切正常了!

演示安装VultrHosting.com

我们当然会要求安装ssl证书了,ghost利用国人编写的acme.sh提供了一整套非常便捷的安装Let’s Encrypt ssl数字证书的流程,官方配置看config

Enter Your Blog URL: 设置你的博客站点地址

我们输入: https://www.vultrhosting.com,这里我们需要注意的是要设置为https,对这个域名vultrhosting.com要提前设置好域名解析,例如下图:

上图是阿里云后台的截图,你需要再你的域名注册商设置@和www这两个主机记录,指向你的主机IP地址。注意一定要提前设置好,后续安装ssl证书的时候会去检测解析状态的

Enter your MySQL hostname: 设置你的mysql主机地址

默认用localhost就好

Enter your MySQL username: 设置你的mysql用户名

我们用root就好,或者你自己登录到mysql去建一个新用户,注意要赋予必要的权限,比较麻烦,我们就用root就好了。用户名输入了,再输入你的mysql数据库密码,密码就是环境安装中你重设的root密码

Do you wish to set up "ghost" mysql user? 是否希望建立一个ghost的mysql用户

n,否

Do you wish to set up Nginx?

Y,当然安装了

Do you wish to set up SSL?

Y,等待ssl安装完成

Do you wish to set up Systemd?

Y,必要选择,文章开头的环境要求就说了,必须要Systemd

✔ Creating systemdservicefile at /var/www/ghost/system/files/ghost_www-vultrhosting-com.service

Runningsudocommand:ln-sf/var/www/ghost/system/files/ghost_www-vultrhosting-com.service /lib/systemd/system/ghost_www-vultrhosting-com.service

Runningsudocommand: systemctl daemon-reload

✔ Setting up Systemd

? Do you want tostartGhost? Yes

Runningsudocommand: systemctl is-active ghost_www-vultrhosting-com

✔ Ensuring user is not loggedinas ghost user

✔ Checkingifloggedinuser is directory owner

✔ Checking current folder permissions

Runningsudocommand: systemctl is-active ghost_www-vultrhosting-com

✔ Validating config

✔ Checking folder permissions

✔ Checking file permissions

✔ Checking content folder ownership

✔ Checking memory availability

Runningsudocommand: systemctlstartghost_www-vultrhosting-com

✔ Starting Ghost

Runningsudocommand: systemctl is-enabled ghost_www-vultrhosting-com

Runningsudocommand: systemctl enable ghost_www-vultrhosting-com--quiet

✔ Enabling Ghost instance startup on server boot

You can access your publication at https://www.vultrhosting.com

Next, go to to your admin interface at https://www.vultrhosting.com/ghost/ to complete the setup of your publication

Ghost uses direct mail by default

Tosetup an alternative email method read our docs at https://docs.ghost.org/docs/mail-config

好了,ghost已经安装并启动了,访问https://www.vultrhosting.com试试吧(^▽^)

ghost安装失败怎么办?

比如操作失误,你可以ghost uninstall来删除刚刚安装的ghost,注意需要再ghost工作目录下执行,所有的ghost命令都要求制定工作目录,上面我使用的工作目录是/var/www/ghost

删除ghost之后,你可以重试,如果还是出问题,那么你可以:

在官方论坛提问,他们回应会很快的,论坛地址:https://forum.ghost.org/

求助我,QQ:1204833748,微信:cmlanche

ghost停止、启动命令

ghoststop

ghoststart

ghost后台管理

ghost后台管理会再第一次打开会是一个注册界面,要求输入管理员账号和密码,注册成功之后再次打开,如果没有登录的话,就是一个登录界面。所以注册认证只有一次。但是ghost系统并不仅仅只有一个用户,你可以在后台管理邀请其他人加入你的网站系统,通过发邮件邀请的方式。

ghost后台界面一览

ghost CMS博客系统崇尚的是简洁简便,后台管理真的是让人爱不释手,第一次看到它就喜欢上了,因为它我爱上了写博客,让我有了认真写作的心,谢谢你ghost!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容

  • “当你无法拥有时,唯一能做的就是不要忘记。” 直到有一天,光华飞逝,不知怎么就忘了。 又到有一天,恍惚之间,不知怎...
    从前有块田阅读 201评论 0 2
  • Thai. Bye~ 在曼谷的民宿是独栋别墅里的套间。 遇到了一对危地马拉夫妇。 一对马来西亚华裔夫妻。 还有就是...
    一只茶水杯阅读 302评论 0 3
  • 记过太多真挚的左右 也写过不少扎堆的庸柔 却还没来得及写一写我 我没有人群里一眼瞩目的神眸 没有穿街过巷的歌喉 也...
    蓝甘乐阅读 206评论 0 0
  • 我爱你 小心翼翼 又无比大胆 你说 我说 絮絮叨叨 一个个爱 呼之欲出 我爱你 自私自利 又无比诚恳 我说 你说 ...
    十一和七七阅读 287评论 0 1