前言
本文转载自 Ghost Blog安装笔记–淮城一只猫,并有少量原创内容
之前使用过 ghost 搭建博客,但因为速度慢、太难上手、没有好看的主题再加上服务器需要用于其他用途,迁移回了 hexo 。现在除了难于上手外问题基本都解决了,并且 ghost 还有了很多新特性让我难以抗拒,于是乎就搬回了 ghost 。
我用的是阿里云轻量级应用服务器,学生机,Ubuntu18.04LTS,1 CPU/2G RAM/40G ROM.废话不多说,开始整活,详细介绍一下搭建 ghost 博客的具体步骤。
创建新管理员用户
由于 Ghost 不允许 root 安装,所以需要新建一个账户并让他以 root 身份登录
1 |
# 更新软件 |
这里的
用户名可以自己任意修改,例如 tom 、 gh 、 lic 等。
但不能使用 ghost 作为用户名,因为和 ghost-cli 用户名产生冲突。
安装 Node.js 环境和 ghost-cli
1 |
# 下载并安装 nvm |
安装Nginx环境
1 |
sudo apt-get install nginx |
安装数据库
我使用的是 MariaDB,而不是官方推荐的 MySql
MariaDB 的安装很简单,只需要点击这个链接,选择你的操作系统,复制安装脚本,粘贴到你的命令行就好了
例如Ubuntu 18.04安装10.4版本的数据库:
1 |
sudo apt-get install software-properties-common |
安装完成之后,使用 mysqladmin -u root -p password <your password>
命令修改 root 密码
创建网站目录,并安装 ghost
1 |
# 创建ghost文件夹的网站目录,这个名字可以自己随便定义 |
安装过程根据主机性能来决定,下面是选项配置讲解:
- Enter your blog URL: 博客展示地址,格式:http(s):(www.)example.com,不支持ip地址。
- Enter your MySQL hostname: 数据库主机地址,回车默认是localhost。
- Enter your MySQL username: / Enter your MySQL password: 数据库用户名/密码,上面安装的数据库用户名是root,密码是自己设置的。
- Enter your Ghost database name: Ghost博客数据库名
- Do you wish to set up “ghost” mysql user? 设置数据库用户名为ghost,这个为了避免权限太大导致数据瞎搞,Ghost官方推荐是y。
- Do you wish to set up Nginx? 自动化Nginx,推荐y。
- Do you wish to set up SSL? 配置SSL证书,推荐y,如果你有证书问题,请查看文章最下面的问题。
- Enter your email (For SSL Certificate):个人邮箱,配置ssl证书需要的邮箱地址。
- Do you wish to set up Systemd? 使用ghost进程管理工具,推荐y,个人觉得海星。
- Do you want to start Ghost? 启动Ghost博客就可以进入网址访问。
CDN 加速
我使用的是腾讯云的免费CDN,使用 CDN 本身没有什么难度,我用的时候主要有下面两个困惑
SSL 证书下载
在上一步 ghost install
过程中,我们免费申请了 letsencrypt 的免费 SSL 证书,而使用 cdn 就需要提供 SSL 证书,哪我们的证书在哪里呢?
网上的资料不多,我最后通过谷歌找到了,就在我们的服务器的 /etc/letsencrypt/yoursite.com
中,文件目录如下:
腾讯云使用的就是 fullchain.cer
和 yoursite.com.key
两个证书
域名解析设置
勇敢地把 A 记录删除掉就 OK了,具体原因我也不是很懂
图片优化
安装并配置 qn-store 后,我们在 ghost 后台上传的图片就直接存储在七牛云图床上,而不是在服务器上了
在/var/www/ghost/content/adapters文件下新建个storage文件夹
1 |
cd /var/www/ghost/content/adapters/storage # 定位 |
然后打开/var/www/ghost/config.production.json文件,添加代码:
1 |
{ |
最后重启Ghost
1 |
cd /var/www/ghost |