弹性云主机

手工搭建Ghost博客(Ubuntu 20.04)

2025-10-28 10:20:36

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

前置条件

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

  • 实例需要分配公网IP或绑定弹性公网IP。

  • 操作系统:Ubuntu      16.04、Ubuntu 18.04、Ubuntu      20.04、Ubuntu 22.04。

  • 实例所在的安全组入方向安全规则放行22、80、4423、2368端口。

创建新用户

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

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

以创建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


2.  执行以下命令,将新创建的用户添加到组。

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_12.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
v16.20.2
test@ecm-2d20-Ghost:~$ npm -v
8.19.4


安装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安装成功。

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


9.  执行以下命令,重启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


一些配置参数如下:

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地址或者域名

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

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

 


ue3N1zyWAse_