手工搭建Ghost博客(Ubuntu 20.04)

本文为您介绍手工搭建Ghost博客(Ubuntu 20.04)的最佳实践。


Ghost是基于Node.js开发的一款免费的非常出色的开源博客平台,具有即时预览、极致简约、支持多用户等特性,本文将指导用户在Ubuntu20.04操作系统上的云主机实例上部署Ghost博客。

How to install Ghost, the official guide

前置条件

使用本文的操作步骤,弹性云服务器实例必须满足以下前置:

  • 实例需要分配公网IP或绑定弹性公网IP。
  • 操作系统:Ubuntu 20.04。
  • 实例所在的安全组入方向安全规则放行22、80、4423、2368端口。

创建新用户

由于Ghost官方不推荐使用root用户直接进行操作。因此需要重新创建新的用户,并且为其配置权限。

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

    以创建test用户为例子。

    adduser test
    

    具体配置如下:

    root@ecm-2d20-Ghost:~# adduser test
    Adding user `test' ...
    Adding new group `test' (1000) ...
    Adding new user `test' (1000) with group `test' ...
    Creating home directory `/home/test' ...
    Copying files from `/etc/skel' ...
    New password:
    Retype new password:
    passwd: password updated successfully
    Changing the user information for test
    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] y
    
  • 执行以下命令,将新创建的用户添加到组。

    usermod -a -G sudo test
    
  • 执行以下命令,切换到test用户。

    su - test

安装gcc和g++

  1. 执行以下命令安装常用开发编译工具。

    sudo apt-get install build-essential
    
  2. 执行如下命令,安装gcc。

    apt-get install gcc
    
  3. 执行如下命令查看gcc版本。

    gcc --version
    

    回显信息:

    root@ecm-da5b:~# gcc --version
    gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
    Copyright (C) 2019 Free Software Foundation, Inc.
    
  4. 执行以下命令安装g++。

    sudo apt-get install g++
    
  5. 使用以下命令查看g++版本。

    g++ --version
    

    回显信息:

    root@ecm-da5b:~# g++ --version
    g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
    Copyright (C) 2019 Free Software Foundation, Inc.

安装Node.js

在安装Ghost前,需要先安装Ghost所需要的Node.js。

  1. 执行以下命令,进行Node..js安装源的下载。

    curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
    
  2. 执行以下命令,进行Node.js的安装。

    sudo apt-get install -y nodejs
    
  3. 在Node.js安装完成后,执行以下命令查看Node.js版本和npm版本。

    node -v
    npm –v
    

    回显信息:

    test@ecm-2d20-Ghost:~$ node -v
    v18.20.3
    test@ecm-2d20-Ghost:~$ npm -v
    10.7.0
    

安装Nginx

部署Ghost博客,需要安装Nginx作为HTTP服务器。

  1. 执行以下命令,进行Nginx安装。

    sudo apt-get update
    sudo apt-get install nginx
    
  2. 安装完成后,执行以下命令查看Nginx版本。

    nginx –v
    

    回显如下:

    test@ecm-2d20-Ghost:~$ nginx -v
    nginx version: nginx/1.18.0 (Ubuntu)
    
  3. 验证Nginx是否正常启动。
    浏览器输入公网IP地址或者域名进行访问Nginx,出现如下页面,则说明Nginx安装成功。

    image.png

  4. Nginx配置信息修改(可选)。
    输入以下命令修改配置文件。

    vim  /etc/nginx/nginx.conf 
    

    输入以下内容:

    server {
        listen 8001; //监听端口号 本文选择监听端口为8001,避免出现80端口冲突问题
        server_name 171.111.xxx.xxx; #这里写你的域名或者ip地址
        location / {
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   Host      $http_host;
            proxy_pass         http://127.0.0.1:2368;
        }
    }
    

安装MySQL

  1. 执行以下命令,安装MySQL。

    sudo apt-get install -y mysql-server
    
  2. 输入以下命令查看MySQL版本。

    mysql  –V
    

    回显如下:

    root@ecm-da5b:~# mysql -V
    mysql  Ver 8.0.34-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
    
  3. 打开MySQL控制台
    通常,在未执行任何配置的情况下在 Ubuntu 上全新安装 MySQL 后,访问服务器的用户将使用身份验证套接字 (auth_socket) 插件进行身份验证。
    auth_socket 的使用会阻碍服务器使用密码对用户进行身份验证。它不仅会引发安全问题,而且还会使用户无法使用外部程序访问数据库。因此我们需要将身份验证方法从 auth_socket 更改为使用 mysql_native_password(密码验证)。输入以下命令,打开MySQL控制台。

    sudo mysql
    
  4. 设置root用户密码。

    输入以下命令将MySQL身份验证方式从 auth_socket 更改为使用 mysql_native_password(密码验证)

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '输入root账号的密码'
    
  5. 执行以下命令,创建Ghost使用的数据库。
    本文以ghost为例

    create database ghost
    
  6. 输入以下命令查看数据库创建情况。

    show databases
    

    回显信息:

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | ghost          |
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    5 rows in set (0.00 sec)
    
  7. 执行以下命令,退出MySQL。

    exit
    
  8. 避免数据库可能存在的中文乱码问题,可执行以下命令设置MySQL编码。

    sudo vi /etc/my.cnf
    

    输入以下内容,之后保存并退出。

    [client]
    default-character-set=utf8  
    [mysql]
    default-character-set=utf8  
    [mysqld]
    character-set-server=utf8  
    collation-server=utf8_general_ci
    

    执行以下命令,重启MySQL生效

    sudo /usr/sbin/service mysql restart
    

安装Ghost

  1. 输入以下命令创建Ghost-CLI命令工具,快速配置Ghost。

    sudo npm install ghost-cli@latest -g
    
  2. 依次执行以下命令,创建Ghost安装目录并进授权。

    sudo mkdir -p /var/www/ghost 
    sudo chown test:test /var/www/ghost //配置权限
    sudo chmod 775 /var/www/ghost
    
  3. 执行以下命令,进入创建的文件夹,安装Ghost。

    cd /var/www/ghost
    ghost install
    

    image.png

    一些配置参数如下:

    Enter your blog URL:请输入已解析的域名或者公网IP,请输入 http://(您的域名或者公网IP)。

    Enter your MySQL hostname:请输入数据库连接地址,请输入 localhost 后按 Enter。

    Enter your MySQL username:请输入数据库用户名,请输入 root 后按 Enter。

    Enter your MySQL password:请输入数据库密码,请输入在设置root账户中已设置的密码后按 Enter。

    Enter your database name:请输入 Ghost 使用的数据库的名称,请输入在创建数据库中已创建的ghost后按 Enter。

    之后会有一些参数的配置,可按照需要进行设置,本文均输入yes。

  4. 测试访问Ghost博客。
    访问Ghost前台首页。
    在任何具有访问公网能力的主机中,打开浏览器输入云主机实例的公网IP地址或者域名,即可访问Ghost前台首页。
    例如:http://公网IP地址或者域名

    企业微信截图_16935394966241.png

    如果想要进入管理员后台的话只需要在域名或者公网IP地址的后面加上/ghost即可进入,第一次进入需要进行账号注册,然后便能进入后台。

    例如:https://公网IP或者域名/ghost

    企业微信截图_16935395354290.png

 

 

  • 19
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值