You need to enable JavaScript to run this app.
导航

搭建Ghost博客

最近更新时间2023.12.07 14:06:19

首次发布时间2021.12.01 14:56:34

Ghost是一款出色的开源博客网站,基于Node.js语言开发,使用MySQL、SQLite或PostgreSQL存储数据。本文介绍如何在Linux操作系统中,搭建用于生产环境的Ghost博客网站。

Ghost相比Wordpress,具有即时预览、简洁易用的优点:

  • 架构上,使用Node.js语言开发,具有更高的并发能力。
  • 设计上,界面更加简洁,支持Markdown语法,提高写作专注度。
  • 使用上,支持在线预览、在线写作等多种能力,便于随时随地的写作。

软件版本

  • 操作系统:本文以Ubuntu 18.04为例。
  • Nginx:高性能的HTTP和反向代理的轻量级Web服务器,本文以Nginx 1.14.0为例。
  • MySQL:数据库管理系统,本文以MySQL 14.14为例。
  • Node.js:在服务器端执行的嵌入HTML文档的脚本语言,本文以Node.js 14.18.1为例。
  • Ghost:本文以Ghost 4.24.0为例。

第一步:创建新用户

Ghost官网不推荐使用root用户直接进行操作,搭建Ghost博客前请首先创建新用户。

  1. 远程连接云服务器并登录,具体操作请参考登录Linux实例小节。

  2. 执行以下命令,创建新用户。

    • 请勿使用ghost作为用户名,可能会与Ghost-CLI存在冲突,本文以ghostuser为例。

    adduser ghostuser
    回显如下,您需要设置ghostuser的密码和其他信息,如不需要配置其他信息,可以按回车键,跳过配置。

    Enter new UNIX password: 
    Retype new UNIX password: 
    passwd: password updated successfully
    Changing the user information for sxm
    Enter the new value, or press ENTER for the default
    Full Name []: 
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
    Is the information correct? [Y/n]
    
  3. 执行以下命令,增加用户权限。
    usermod -aG sudo ghostuser

  4. 执行以下命令,切换为ghostuser用户。
    su - ghostuser
    回显如下,表示已切换为ghostuser用户。
    image

第二步:安装Nginx

  1. 执行以下命令,更新软件包。

    sudo apt-get update
    sudo apt-get upgrade -y
    
  2. 执行以下命令,安装Nginx。
    sudo apt-get install -y nginx

  3. 执行以下命令,查看Nginx版本。
    nginx -v
    回显如下,表示安装成功。
    nginx version: nginx/1.14.0 (Ubuntu)

  4. 在本地浏览器中输入http://<ECS实例公网IP地址>/访问Nginx。
    回显如下,表示Nginx搭建成功。
    image

第三步:安装Node.js

  1. 依次执行以下命令,安装Node.js。
    apt install curl #安装curl工具
    curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash 
    sudo apt-get install -y nodejs
    
  2. 执行以下命令,查看Node.js版本。
    node -v
    回显如下,表示Node.js搭建成功。
    v14.18.1

第四步:安装MySQL

  1. 执行以下命令,安装MySQL。
    sudo apt-get install -y mysql-server
  2. 执行以下命令,连接MySQL。
    sudo mysql
  3. 执行以下命令,创建Ghost使用的数据库,本文以ghostdata为例。
    CREATE DATABASE ghostdata;
  4. 执行以下命令,设置root账户密码。
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '输入root帐户密码';
  5. 执行以下命令,退出MySQL。
    \q
  6. 执行以下命令,查看MySQL版本。
    mysql -V
    回显如下,表示MySQL搭建成功。
    mysql Ver 14.14 Distrib 5.7.36, for Linux (x86_64) using EditLine wrapper

第五步:安装并配置Ghost

  1. 执行以下命令,安装Ghost-CLI命令行工具。
    sudo npm install ghost-cli@latest -g

  2. 执行以下命令,创建用于安装Ghost的文件夹。
    sudo mkdir -p /var/www/ghost

  3. 执行以下命令,配置ghostuser用户权限。
    sudo chown ghostuser:ghostuser /var/www/ghost

  4. 执行以下命令,进入Ghost的文件夹。
    cd /var/www/ghost

  5. 执行以下命令,用Ghost-CLI安装Ghost。
    ghost install
    回显如下,请依次完成配置。

    • 您可以按需简单配置,如后续需要修改请执行vi config.production.json命令进入配置文件完成操作。
      ? Enter your blog URL: http://www.****.com #Ghost博客的真实域名
      ? Enter your MySQL hostname: localhost  #数据库的连接地址,本文中数据库在实例上,因此输入localhost即可
      ? Enter your MySQL username: root  #数据库的用户名,此处输入root
      ? Enter your MySQL password: [hidden]  #数据库的密码,请输入root的密码
      ? Enter your Ghost database name: ghostdata  #Ghost使用的数据库,请输入第四步中配置建的名称
      
    • 剩余内容按照界面提示操作即可。

第六步:访问Ghost博客

在本地浏览器中输入Ghost的域名,即可访问Ghost博客。

第七步(可选):为网站启用 HTTPS

当用户通过 HTTP 协议访问您的网站,浏览器会提示用户连接不安全。建议您为网站启用 HTTPS 安全通信,这样能够保证用户与您的网站间的数据传输是加密的,可以有效防御网络劫持攻击、防止信息泄露等。
要启用 HTTPS,您需要在网站上部署 SSL 证书。您可以通过火山引擎证书中心申请免费的 SSL 证书。更多信息,请参见申请免费证书下载与安装证书