折腾不止
Logo
折腾不止

快速搭建Ghost博客

过去两年总有朋友问我,我的博客是如何搭建的,我一直不知道该如何回答。今天我终于决定要回答这个问题了,主要原因是 Ghost 在发布 1.0 版本之后,安装变得异常简单。这主要得益于Ghost-CLI,它可以实现快速安装 Ghost,并自动配置 MySQL、Nginx 和 SSL,大大简化了流程。

最近,我安装了最新版本的 Ghost,在官方文档的帮助下,大约 2 小时搞定。后来为了写这篇文章,我重新操作了 1 次,花了大约半小时。

准备

  • 租VPS服务器,我使用的是 vultr
  • 购买域名,我使用的是阿里云
  • 掌握基础命令行,SSH登陆服务器推荐使用 Putty
  • (可选)FTP登陆服务器推荐使用 FileZilla
  • (可选)文本编辑推荐使用 Brackets

参考文档

开启新服务器

vultr 新建一个服务器,按照Ghost 的要求,Server Type 选择 Ubuntu 16.04,Server Size 选择 1G内存或以上,如下图:

01

新服务器建好之后,可以得到该服务器的IP和root账号的密码:

02

域名解析

登陆域名服务商网站,添加两个解析都指向新服务器的IP,如下图:

03

SSH登陆服务器

打开 Putty,在 Host Name 里面填入服务器的IP,如下图:

04

点击Open,输入用户名root和密码,登陆成功后,如下图:

05

基本操作

接下来就都是命令行操作了,更新系统软件:

sudo apt-get update
sudo apt-get upgrade

开启防火墙:

sudo ufw allow OpenSSH
sudo ufw enable

添加新用户

Ghost 官方文档的要求使用非root账号安装,因此新建一个用户:

adduser [user]

[user]表示新用户名,例如: adduser yang,要求设置密码。

给新用户sudo权限:

usermod -aG sudo [user]

并切换到新用户:

su - [user]

安装NGINX

sudo apt-get install nginx
sudo ufw allow 'Nginx Full'

安装MySQL

sudo apt-get install mysql-server

要求设置MySQL中root账号的密码,设置完成并记下密码,后面要用。

安装Node.js

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash
sudo apt-get install -y nodejs

安装Ghost-CLI

sudo npm i -g ghost-cli

安装Ghost

建一个新文件夹:

sudo mkdir -p /var/www/ghost

确保当前用户拥有该文件夹:

sudo chown [user]:[user] /var/www/ghost

前往文件夹:

cd /var/www/ghost

安装Ghost:

ghost install

安装过程中要填写下列信息:

06

参照上图填写即可,域名改成自己的,密码是刚才安装MySQL时设置的root账号的密码。接下来还有一些配置,都是自动完成:

  • Do you wish to set up nginx? Y
  • Do you wish to set up ssl? Y (还需要提供邮箱)
  • Do you wish to set up a ghost MySQL user? N
  • Do you wish to set up systemd? Y
  • Do you want to start Ghost? Y

管理博客

打开浏览器,在地址栏输入

域名/ghost

根据向导设置账号,管理博客。