Ghost 是一个免费的开源博客平台,旨在简化个人博客和在线出版物的在线发布过程。和静态博客不同,Ghost 是轻量级的动态博客,可以通过管理后台直接写作和管理博客。
相比于 WordPress,Ghost 搭建在 Node.js 环境上,轻量,快速,简洁。适配移动端,手机阅读体验很好。总体来说亮点如下:
- 写作简单,可以随时随地写作
- UI 简洁、美观,主题替换方便
- 响应式布局,移动设备视觉效果良好
- 数据备份、导入导出非常容易
- 相比 WordPress 非常轻量
基本流程
在滴滴云云服务器 DC2 上搭建 Ghost 网站基本流程如下:
- 购买 DC2 实例
- 安装 Docker
- 使用 Docker 部署 Ghost
- 使用 Nginx 做代理
购买合适的 DC2 实例
首先需要一台服务器来部署服务,本文示例使用的滴滴云的云服务器 DC2,可以在滴滴云上购买。
对于流量不是很大的小型网站,一台云服务器就可以满足需求。根据网站的访问量选择实例规格(CPU、内存), 同时 Ghost 官方要求其所搭载的服务器内存至少 1GB。通常来说,对于个人网站,2 核 4GB 足够满足需求。
本例使用的服务器规格为 2 核 4G, 操作系统 CentOS7.5。
安装 Docker
登录服务器后切换至 sudo
权限,开始安装 Docker。
- 安装:
12$ yum install docker -y
- 设置 Docker 开机启动:
12$ systemctl enable docker
- 查看 Docker 版本:
12$ docker version
- 启动 Docker:
12$ systemctl start docker
- 查看当前运行中的容器:
12$ docker ps
安装 Ghost
安装好 Docker 之后,我们就可以使用 Ghost 官方 Docker 镜像来启动 Ghost 了,首先下载 Ghost 镜像:
1 2 |
$ docker pull ghost |
下载完成后,可以使用这个命令来查看已经存在的 Docker 镜像:
1 2 |
$ docker images |
启动 Ghost:
1 2 |
$ docker run --name myblog -p 8080:2368 -d ghost |
此命令的含义是使用 Docker 基于刚刚下载的 Ghost 镜像,创建一个名为 myblog
的实例,该实例的实际端口为 2368
,映射到了服务器的 8080
端口上。因此,我们现在使用服务器的IP地址加上 8080
端口(http://your-server-ip:8080
),就可以在浏览中看到搭建好的 Ghost 的效果了。
Nginx 代理
现在只能使用 IP + 端口
的形式访问博客,如果已经购买过域名,那么我们肯定希望能通过域名来直接访问博客,这就需要使用 Nginx 来做代理。
接下来安装 Nginx 作为代理服务器:
- 安装 Nginx:
12$ yum install nginx -y
- 设置 Nginx 自动启动:
12$ systemctl enable nginx.service
- 启动 Nginx:
12$ systemctl start nginx.service
- 编辑 Nginx 配置文件:
12vim /etc/nginx/conf.d/ghost.conf
编辑内容如下:
12345678910server {listen 80;server_name your-domain.com;location / {proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $http_host;proxy_pass http://localhost:8080;}}其中
server_name
指向实际域名。 -
Nginx 重新加载配置文件:
12$ nginx -s reload
现在可以在浏览器中直接通过域名访问 Ghost 了。
设置 Ghost
浏览器访问 URL 后追加 /ghost
,可以进入后台管理系统。首次进入管理后台,需要设置管理员的邮箱及密码,设置完成后即可登录进入管理后台。管理后台主要功能有:
- 编辑发布 post
- 管理后台用户
- 主题外观更改,设置封面图片、博客标题,管理导航栏等,也可以上传应用第三方主题
- 加载集成插件
至此,一个最基础的 Ghost 博客已经能够在线上运行了。
参考文章
本文作者:龚道林