基於Ghost框架搭建Blog

Extract

丟掉Hexo,捨棄Wordpress,最終我選擇了Ghost。

前言

前段時間,先是捨棄了Hexo轉戰Wordpress,主要原因是Hexo多終端編寫Blog比較麻煩,需要經常同步本地文件,另外Hexo沒有後臺,很多時候不是那麼方便,但是Hexo的確是我用過最有利於“專注寫作”的框架,但是沒有辦法,用戶體驗讓我不得不捨棄掉他。

後來我又使用了Wordpress,優點十分明顯:有後臺、有在線編輯器、一鍵換主題、可定製主題、大量插件等等,這些是他的優點,但Wordpress卻忽略了最重要的一個環節:編輯器。Wordpress:5.0以後內置的Gutenberg編輯器對於Markdown用戶來說是真的難用。

之後我在網上四處衝浪,觀察大家都在使用哪些框架建站,後來我發現了這個基於Node.js開發的Blog框架—Ghost。

環境準備

官方給出的文檔建議使用如下環境:

  • Ubuntu 16.04 or Ubuntu 18.04
  • NGINX (minimum of 1.9.5 for SSL)
  • A supported version of Node.js
  • MySQL 5.5, 5.6, or 5.7 (not >= 8.0)
  • Systemd
  • A server with at least 1GB memory
  • A registered domain name

總的來說就是就是需要Nginx、MySQL、Node.js這三個東西,另外你需要一臺至少1GB內存的服務器以及一個註冊的域名。

創建用戶

因爲Ghost不允許使用root賬戶安裝,所以首先需要創建一個普通賬戶。

#user使用自己的賬戶名稱
adduser <user>

這裏注意也不要使用ghost作爲用戶名,這會導致與Ghost-CLI衝突。

然後我們需要將這個賬戶添加到superuser用戶組,這樣我們就可以使用sudo命令了。

#使用root用戶執行以下命令
usermod -aG sudo <user>

#切換到新建的用戶
su - <user>

安裝Nginx

首先確保軟件包列表是最新的。

sudo apt-get update

Ghost需要Nginx服務器,並且SSL配置需要Nginx1.9.5或更高版本。

sudo apt-get install nginx

如果你的服務器使用了 ufw,那麼你需要允許HTTP和HTTPS連接,打開防火牆:

sudo ufw allow 'Nginx Full'

安裝MySQL

數據庫官方建議使用MySQL,版本在5.5以上,且不大於8.0 。

sudo apt-get install mysql-server

Ubuntu18.04上的MySQL

如果你的服務器運行的是Ubuntu18.04,則需要輸入密碼確保MySQL與Ghost-CLI兼容。

#進入mysql
sudo mysql

#修改root用戶的密碼,這裏的password改成你自己要設定的密碼
>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

#退出mysql
>quit

#切換回你的管理員用戶
su - <user>

安裝Node.js

在這裏插入圖片描述
官方建議使用10.x的 LTS版本。

#添加Node10到APT倉庫
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash

#安裝Node.js
sudo apt-get install -y node.js

安裝Ghost-CLI

Ghost-CLI是一個命令行工具,可以快速安裝、配置Ghost。

sudo npm install ghost-cli@latest -g

安裝後可運行ghost help驗證安裝。

安裝Ghost

注意:在/roothome/目錄中安裝Ghost會導致安裝程序損壞,建議使用/var/www/ghost目錄。

創建目錄

創建安裝目錄,並且設置所有者和讀寫權限。

#創建安裝目錄
sudo mkdir -p /var/www/ghost

#更改文件夾所有者
sudo chown <user>:<user> /var/www/ghost

#更改權限
sudo chmod 775 /var/www/ghost

#進入目錄
cd /var/www/ghost

開始安裝

前期環境均已配置好,下面開始運行安裝命令。

ghost install

安裝問題

安裝過程中Ghost-CLI會提示配置一些選項。

Blog URL

輸入指向該服務器的域名,如https://giottolee.com,官方文檔說這裏如果不使用域名直接使用IP地址會導致一些錯誤,但是我試着配了一下,也沒有報錯。儘管如此還是建議買一個域名,畢竟直接暴露IP地址還是有危險的。

MySQL hostname

配置數據庫來源,如果你的數據庫是在本地配置,就直接Enter使用默認本地配置。如果你的數據安裝在另一臺服務器,就輸入服務器名字。

MySQL username/ password

輸入數據庫的用戶名和密碼。

Ghost database name

如果你的數據庫使用的是root用戶,則Ghost-CLI會自動創建一個數據庫。如果你使用的非root用戶,你需要手動創建一個數據庫,並且配置好權限,然後在這輸入數據庫的名字。

Set up a ghost MySQL user? (Recommended)

如果你的數據庫用戶使用的是root用戶,Ghost-CLI會爲Ghost創建一個新的數據庫用戶,這個用戶只能讀寫Ghost數據庫。

Set up NGINX? (Recommended)

自動配置Nginx,想都不想直接Enter。

Set up SSL? (Recommended)

直接Enter吧。

Enter your email

輸入你的郵箱地址,用來配置SSL。

Set up systemd? (Recommended)

使用ghost進程管理工具,推薦y

Start Ghost?

開始運行。

接下來你就可以通過你的域名訪問你的Ghost初始頁面了。
在這裏插入圖片描述

發佈了46 篇原創文章 · 獲贊 12 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章