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用戶直接進行操作。因此需要重新創建新的用戶,并且為其配置權限。
-
執行以下命令,創建新用戶。
以創建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++
-
執行以下命令安裝常用開發編譯工具。
sudo apt-get install build-essential -
執行如下命令,安裝gcc。
apt-get install gcc -
執行如下命令查看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. -
執行以下命令安裝g++。
sudo apt-get install g++ -
使用以下命令查看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。
-
執行以下命令,進行Node.js安裝源的下載。
curl -sL //deb.nodesource.com/setup_12.x | sudo -E bash - -
執行以下命令,進行Node.js的安裝。
sudo apt-get install -y nodejs -
在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服務器。
-
執行以下命令,進行Nginx安裝。
sudo apt-get update sudo apt-get install nginx -
安裝完成后,執行以下命令查看Nginx版本。
nginx –v回顯如下:
test@ecm-2d20-Ghost:~$ nginx -v nginx version: nginx/1.18.0 (Ubuntu) -
驗證Nginx是否正常啟動。
瀏覽器輸入公網IP地址或者域名進行訪問Nginx,出現如下頁面,則說明Nginx安裝成功。

-
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 //127.0.0.1:2368; } }
安裝MySQL
-
執行以下命令,安裝MySQL。
sudo apt-get install -y mysql-server -
輸入以下命令查看MySQL版本。
mysql –V回顯如下:
root@ecm-da5b:~# mysql -V mysql Ver 8.0.34-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu)) -
打開MySQL控制臺
通常,在未執行任何配置的情況下在 Ubuntu 上全新安裝 MySQL 后,訪問服務器的用戶將使用身份驗證套接字 (auth_socket) 插件進行身份驗證。
auth_socket 的使用會阻礙服務器使用密碼對用戶進行身份驗證。它不僅會引發安全問題,而且還會使用戶無法使用外部程序訪問數據庫。因此我們需要將身份驗證方法從 auth_socket 更改為使用 mysql_native_password(密碼驗證)。輸入以下命令,打開MySQL控制臺。
sudo mysql -
設置root用戶密碼。
輸入以下命令將MySQL身份驗證方式從 auth_socket 更改為使用 mysql_native_password(密碼驗證)。ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '輸入root賬號的密碼' -
執行以下命令,創建Ghost使用的數據庫。
本文以ghost為例。
create database ghost -
輸入以下命令查看數據庫創建情況。
show databases回顯信息:
mysql> show databases; +--------------------+ | Database | +--------------------+ | ghost | | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) -
執行以下命令,退出MySQL。
exit -
避免數據庫可能存在的中文亂碼問題,可執行以下命令設置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
-
輸入以下命令創建Ghost-CLI命令工具,快速配置Ghost。
sudo npm install ghost-cli@latest -g -
依次執行以下命令,創建Ghost安裝目錄并進授權。
sudo mkdir -p /var/www/ghost sudo chown test:test /var/www/ghost //配置權限 sudo chmod 775 /var/www/ghost -
執行以下命令,進入創建的文件夾,安裝Ghost。
cd /var/www/ghost ghost install
一些配置參數如下:
Enter your blog URL:請輸入已解析的域名或者公網IP,請輸入 //(您的域名或者公網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。
-
測試訪問Ghost博客。
訪問Ghost前臺首頁。
在任何具有訪問公網能力的主機中,打開瀏覽器輸入云主機實例的公網IP地址或者域名,即可訪問Ghost前臺首頁。
例如://公網IP地址或者域名


如果想要進入管理員后臺的話只需要在域名或者公網IP地址的后面加上/ghost即可進入,第一次進入需要進行賬號注冊,然后便能進入后臺。
例如://公網IP或者域名/ghost
