来自 技术 2019-03-15 00:00 的文章

在滴滴云 DC2 服务器上部署 Ghost

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。

安装:

$ yum install docker -y

设置 Docker 开机启动:

$ systemctl enable docker

查看 Docker 版本:

$ docker version

启动 Docker:

$ systemctl start docker

查看当前运行中的容器:

$ docker ps

安装 Ghost

安装好 Docker 之后,我们就可以使用 Ghost 官方 Docker 镜像来启动 Ghost 了,首先下载 Ghost 镜像:

$ docker pull ghost

下载完成后,可以使用这个命令来查看已经存在的 Docker 镜像:

$ docker images

启动 Ghost:

$ 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:

$ yum install nginx -y

设置 Nginx 自动启动:

$ systemctl enable nginx.service

启动 Nginx:

$ systemctl start nginx.service

编辑 Nginx 配置文件:

vim /etc/nginx/conf.d/ghost.conf

编辑内容如下:

server { 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 重新加载配置文件:

$ nginx -s reload

现在可以在浏览器中直接通过域名访问 Ghost 了。

设置 Ghost

浏览器访问 URL 后追加 /ghost,可以进入后台管理系统。首次进入管理后台,需要设置管理员的邮箱及密码,设置完成后即可登录进入管理后台。管理后台主要功能有:

编辑发布 post管理后台用户主题外观更改,设置封面图片、博客标题,管理导航栏等,也可以上传应用第三方主题加载集成插件

至此,一个最基础的 Ghost 博客已经能够在线上运行了。

参考文章Ghost