10 分鐘從零搭建個人博客

来源:https://www.cnblogs.com/shiyanlou/archive/2020/02/27/12373045.html
-Advertisement-
Play Games

2000年,博客剛進入中國,卻並不被看好,用戶寥寥無幾。 直到2005年,隨著新浪、搜狐等門戶網站的佈局,博客逐漸在國內興起。 但幾年後,因微博、公眾號等媒介的發展,博客的生存空間受到擠壓,開始走向沒落。 然而,迄今為止,依舊有一批熱衷於創作的人在堅持經營著個人博客。 不少技術大牛和程式員,也更願意 ...


2000年,博客剛進入中國,卻並不被看好,用戶寥寥無幾。

直到2005年,隨著新浪、搜狐等門戶網站的佈局,博客逐漸在國內興起。

但幾年後,因微博、公眾號等媒介的發展,博客的生存空間受到擠壓,開始走向沒落。

然而,迄今為止,依舊有一批熱衷於創作的人在堅持經營著個人博客。

不少技術大牛和程式員,也更願意用個人博客,去分享技術,展示自我。

相比公眾號、微博等註重流量和內容吸睛度的平臺,個人博客顯得更貼近創作者的初衷。

“始於興趣,終於熱愛。”

用這句話形容個人博客的創作者們,再合適不過了。

今天,為大家分享的教程是《使用 Ghost 3 搭建個人博客系統》零基礎人群適用。

先看看最終效果圖:

image

image

想要直接動手搭建的朋友,可以點擊《使用 Ghost 3 搭建個人博客系統》(免費),直接使用其搭建好的線上環境進行個人博客搭建。


實驗介紹

Ghost 是著名的開源博客系統。

如果你是零基礎人士,且想要搭建一個自己的博客,那麼 Ghost 一定是最推薦的選擇之一。

本次試驗中,我們將瞭解 Ghost CLI 命令行工具,並學會使用其在實驗樓線上環境中搭建一個 Ghost 博客系統。

知識點:

  • Ghost CLI 命令行工具
  • Ghost 博客安裝和配置

開源博客哪家強?

Ghost 一定值得一試。

Ghost 已經算得上是老牌開源博客系統,如今發佈的 Ghost 3 更是其史上包含最多更新內容的版本。

Ghost 3 擁有更漂亮的前端設計和易用的後臺管理系統,並支持使用 Github Actions 連續部署主題和管理付費訂閱內容。

如果你需要搭建個人博客或者是付費內容發佈系統,那麼 Ghost 一定是最值得考慮的選擇。接下來,我們將學習安裝和部署 Ghost 3 方法和技巧。

image

安裝 Ghost CLI 命令行工具

由於 Ghost 是動態博客系統,所以最好通過雲主機的方式進行部署。隨著 Ghost 的迭代更新,如今的 Ghost 已經可以通過 Ghost CLI 命令行工具來安裝。

相比於初代 Ghost 博客部署時麻煩的過程,Ghost 3 的部署幾乎沒有門檻,非專業人士也可以輕鬆學會。

本次實驗中,我們將通過實驗樓線上環境來演示 Ghost 3 的部署過程。不過,為了方便大家自行租用雲主機進行部署,實驗也會包含相應的步驟和內容。

想要部署 Ghost,首先你需要租用一臺雲主機。國內可以選擇 阿裡雲、騰訊雲 等。

國外可以選擇 AWS,Digital Ocean 等,最低配置一般在 3~5 美元/月。

購買雲主機之後,就可以看到服務商給出的公網 IP,我們一般會通過 SSH 方式連接到遠程主機。由於不同雲廠商的預設用戶名和密鑰不一樣,你需要參考相應的官方幫助文檔。

例如,AWS Lightsail 的官方幫助文檔《連接到 Amazon Lightsail 中的 Linux 或 Unix 實例》。

Ghost 需要 Node.js 基礎環境,所以在安裝 Ghost CLI 命令行工具之前,我們需要先安裝 Node.js。

Ghost 3 支持的 Node.js 版本 可以參考官方給出的列表,安裝最推薦的 10.x 版本即可。Node.js 的安裝可以直接查看 相應的官方文檔步驟。此外,你需要在雲主機上安裝 npm 包管理器。

由於實驗樓線上環境已經安裝了 Node.js 和 npm,所以我們可以跳過這兩個步驟。接下來,請打開線上環境,切換到一個新的終端。

鍵入以下命令,安裝 Ghost CLI 命令行工具:

npm install ghost-cli -g

該安裝過程會持續 10 分鐘左右,請耐心等待安裝完成。

image

安裝 Ghost 3

安裝好 Ghost CLI 命令行工具之後,就可以正式安裝 Ghost 3 了。

Ghost 3 安裝過程十分簡單,如果你是在雲主機上安裝,直接在終端中輸入 ghost install 即可。

命令行工具會自動檢查依賴,綁定功能變數名稱,設置 HTTPS 等。一套完整流程走下來,就可以直接訪問博客了。

預設情況下,Ghost 會使用 MySQL 作為後端資料庫。為了方便線上環境演示,我們使用 Ghost 本地安裝模式,此時會使用 SQLite3 資料庫。

接下來,在環境終端中鍵入:

ghost install local

然後等待安裝過程完成。

image

安裝成功之後,你可以看到 Ghost was installed successfully! 的提示。

修改配置

Ghost 3 安裝成功後,你就可以通過其提示的 http://localhost:2368 鏈接訪問。不過,實驗樓線上環境僅開放了 8080 埠,預設的 2368 埠無法訪問。

此時,你可以從線上環境左側欄中看到 Ghost 安裝之後的文件夾結構。其中,主目錄下的 config.development.json 即為 Ghost 配置文件。

打開預設的 config.development.json 配置如下:

{
  "url": "http://localhost:2368/",
  "server": {
    "port": 2368,
    "host": "127.0.0.1"
  },
  "database": {
    "client": "sqlite3",
    "connection": {
      "filename": "/home/project/content/data/ghost-local.db"
    }
  },
  "mail": {
    "transport": "Direct"
  },
  "logging": {
    "transports": [
      "file",
      "stdout"
    ]
  },
  "process": "local",
  "paths": {
    "contentPath": "/home/project/content"
  }
}

我們需要修改其預設 url,port 和 host 欄位。

首先,請打開線上環境右側的 Web 服務,此時你可以看到當前環境 Web 服務的臨時功能變數名稱。

image

實驗樓線上環境分配的臨時功能變數名稱結構大致為:https://隨機字元-service.simplelab.cn/。請使用該功能變數名稱替換配置文件中的預設 url 欄位,即將 http://localhost:2368/ 替換為 http://隨機字元-service.simplelab.cn/特別註意需要修改臨時功能變數名稱前 https 到 http。

接下來,修改配置文件中預設埠 port 為 8080,原因是線上環境僅支持 8080 埠訪問。然後修改 host 為公網可訪問的 0.0.0.0。實際上,在真正部署時無需修改預設配置,當然這裡也學會了修改自定義配置的方法。

修改完成之後,配置文件如下,點擊保存。

{
  "url": "http://你複製的臨時功能變數名稱-service.simplelab.cn",
  "server": {
    "port": 8080,
    "host": "0.0.0.0"
  },
  "database": {
    "client": "sqlite3",
    "connection": {
      "filename": "/home/project/content/data/ghost-local.db"
    }
  },
  "mail": {
    "transport": "Direct"
  },
  "logging": {
    "transports": [
      "file",
      "stdout"
    ]
  },
  "process": "local",
  "paths": {
    "contentPath": "/home/project/content"
  }
}

然後我們需要重啟 Ghost 服務讓配置生效,在終端中鍵入:

ghost restart

image

重啟完成之後,即可重新點擊「Web 服務」訪問 Ghost。

image

後臺管理

如果需要進入 Ghost 後臺,請在功能變數名稱後方加上 /ghost 即可。第一次進入後臺需要設置管理員賬戶,你只需要按步驟註冊即可。

image

註冊之後,你可以看到 Ghost 的管理界面。隨意點擊 Ghost 後臺提供的選項,看看都提供了哪些功能。

image

最後,你可以嘗試使用 Ghost 發佈一篇文章。

課程總結

本次課程中,我們瞭解了 Ghost 博客系統的基本概況,學習瞭如何搭建一個 Ghost 3 博客系統。

如今,隨著 Ghost 的優化迭代,其安裝過程和使用體驗都變得越來越好。

Ghost 也提供了其他平臺遷移的小工具,如果你正好想自建博客,非常推薦使用 Ghost。


想要練習操作的朋友,建議點擊《使用 Ghost 3 搭建個人博客系統》(免費),在這一教程中配置好的環境下進行搭建。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • js 運行代碼的時候分為幾個步驟:語法分析 ==》預編譯 ==》解釋執行 語法解析:通篇掃描代碼,查看語法是否出錯 解釋執行:讀一行 - 解釋一行 - 執行一行 預編譯執行的操作: // 假設之前並沒有定義a console.log(a); 列印結果:Uncaught ReferenceError: ...
  • 最近做的移動端頁面在請求成功後要跳轉頁面,通過location.href實現的跳轉。但同事在測試時,安卓機可以成功跳轉,蘋果IOS確無法成功跳轉。 解決辦法:在鏈接後面加一個隨機參數,這樣就可以跳轉了 document.location.href = 'doctor_step4.html?times ...
  • 本文介紹了目前前端開發最受歡迎的開發工具 VSCode 必裝的 10 個開發插件,用於大大提高軟體開發的效率。 VSCode 的基本使用可以參考我的原創視頻教程「VSCode 高效開發必裝插件」。 VSCode(Visual Studio Code)是由微軟研發的一款免費、開源的跨平臺文本(代碼)編 ...
  • 本文介紹瞭如何在微信小程式開發中使用 npm 中包的功能,大大提高微信小程式的開發效率,同時也是微信小程式系列教程的視頻版更新。 微信小程式在發佈之初沒有對 npm 的支持功能,這也是目前很多前端開發人員在熟悉了 npm 生態環境後,對微信小程式詬病的地方。 微信小程式在 2.2.1 版本後增加了對 ...
  • 最近購買了極客時間推出的李運華的課程——《從0開始學架構》,本人通過聽音頻和文字閱讀,整理出相關筆記,目的是方便今後再次閱讀。再次感謝李運華的講解,購買鏈接:從0開始學架構 資深技術專家的實戰架構心法 開篇詞 | 照著做,你也能成為架構師 想成為架構師,夢想是美好的,但道路是曲折的,這應該不是個人天 ...
  • 前言 工作的這些年發現一個比較奇怪的現象就是身邊無論是工作十多年的老兵,還是初級剛入行的程式員,在高談闊論技術和趨勢的時候都是人工智慧,大數據,區塊鏈,各種框架,語言,演算法,AI,BI,CI,DI…… 等等,倒是發現很少有人關註資料庫,不知道是因為資料庫感覺太低端還是太低調,總是不容易被人提起 技術 ...
  • 深度講解23種設計模式,力爭每種設計模式都刨析到底。廢話不多說,開始第一種設計模式 - 單例。 作者已知的單例模式有8種寫法,而每一種寫法,都有自身的優缺點。 1,使用頻率最高的寫法,廢話不多說,直接上代碼 /** * @author xujp * 餓漢式 靜態變數 單例 */ public cla ...
  • 概述 單例模式(SingletonPattern),保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。 單例模式有 3 個特點: 單例類只有一個實例對象; 該單例對象必須由單例類自行創建; 單例類對外提供一個訪問該單例的全局訪問點; 在很多比較大型的程式中,全局變數經常被用到。如果不用全局變數, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...