Ghost 博客搭建

写在前面

本来不打算自己折腾搭建博客,自己维护也比较麻烦。非常喜欢简洁风格的Bitcron,但是多次申请邀请码无果,只好放弃。

在选择自己搭建博客后,参考了不少资料,这里特别感谢晚晴幽草轩 | 知乎 | 天玑博客。

Ghost 搭建

Ghost 博客介绍

Ghost是一个基于NodeJs完全开源的,用于构建和运行现代出版物的强大平台,平台支持博客、杂志、新闻等发布。它由前WordPress UI部门主管 John O’Nolan和WordPress 高级工程师(女) Hannah Wolfe 创立,目的是为了给用户提供一种更加纯粹的内容写作与发布平台,使命是为世界各地的独立记者和作家创建最好的开源工具。Ghost成立于2013年4月,在2013年9月份Ghost正式向公众发布。现在已经更新了多个版本,各方面也逐渐完善起来了,到目前(201910)Ghost已更新到了2.31.1版本,超过百万用户。

Ghost 优点

  • 简洁、易用、高效、优雅
  • 专注写作,支持在线预览,完美支持MarkDown
  • 开放的REST风格API
  • 新发布了桌面客户端

安装 Ghost

采用了CentOS Docker 安装

环境准备

  1. 阿里云服务器
  2. 已备案域名

安装步骤

1. 安装 Docker

CentOS Docker 安装

2. 下载 ghost 镜像

docker search ghost
docker pull ghost
docker images ghost

3. 运行 ghost 镜像

注意,根据情况来修改

docker run -d --name itmm-ghost -p 2368:2368 -v ~/blog:/var/lib/ghost/content -e url=https://blog.itmm.wang -e mail__transport=SMTP -e mail__options__host=smtpdm.aliyun.com -e mail__options__port=465 -e [email protected] -e mail__options__auth__pass=xxxxxxx -e mail__options__secureConnection=true -e [email protected] ghost

--name: 为容器指定一个名称,可以自定义。
-p: 端口映射,格式为:主机端口:容器端口,不通过nginx做代理的话可以直接映射到80端口(80:2368)。
-v:主机的文件夹~/blog映射到容器的/var/lib/ghost/content。如果使用默认主题就不需要映射文件夹了,主题定制、汉化等就需要映射(映射修改好的ghost系统content文件夹即可)。
-e:设置环境变量,可无,可以设置搭建好的系统访问地址(url=https://blog.itmm.wang)。后面-e mail相关的命令是配置邮件推送方面的参数,用的是阿里云邮件推送,为了解决阿里云服务器安装了不能发邮件的问题。如果遇到类似问题,可以参考上面命令的相关配置修改即可。

4. 检查安装是否成功

docker ps

用Docker安装搭建Ghost就完成了,非常简单,其实只需要两步,下载ghost镜像,让它跑起来就OK。

配置 Nginx

# Ghost 博客服务
server {
    listen 80;
    server_name blog.itmm.wang;
    rewrite ^(.*) https://$server_name$1 permanent;#强制将http重定向到https
}

server {
    listen 443 ssl;
    server_name blog.itmm.wang; #填写绑定证书的域名

    # 这里是阿里云证书的协议配置
    ssl_certificate cert/blog.itmm.wang.pem;
    ssl_certificate_key cert/blog.itmm.wang.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#按照这个套件配置
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
    ssl_prefer_server_ciphers on;

    location / {
        proxy_pass http://127.0.0.1:2368/;
        proxy_cookie_path  /ghost/ /;
        proxy_redirect off;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_set_header X-Forwarded-Proto https;
    }

}

参考资料

  • Ghost博客平台使用体验
  • ghost博客主题(ghost-theme-mj)
  • 为 Ghost 博客添加 HTTPS
  • Ghost 博客搭建日记
  • 如何用 docker 搭建 ghost 博客

你可能感兴趣的:(Ghost 博客搭建)