日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Ghost 博客平台安装和配置

發布時間:2023/12/31 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ghost 博客平台安装和配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ghost 是一個博客發布平臺,和 Hexo 等類似。本文簡要介紹如何安裝和配置 Ghost,環境為 Ubuntu 16.04 系統上,假設你已經擁有一個服務器和一個域名。

安裝

安裝過程主要參考官方教程,下面我總結下:

  • 在系統上創建一個新用戶。一般安裝 Ghost 會使用一個新用戶,當然這也不是必須的。創建用戶可以使用 useradd 和 adduser 命令,然后使用 usermod 命令將其加到 sudo 組里,最后使用新用戶登錄系統。命令詳細使用方法可參考其文檔,假設我們創建的用戶叫 price

  • 更新系統,安裝 NGINX、MySQL、Node.js 和 Ghost-CLI

    sudo apt update# 安裝 NGINX、MySQL # 安裝 MySQL 時會彈出窗口讓輸入 MySQL 用戶名和密碼 # 用戶名默認 root,密碼自己設置,安裝 Ghost 時會用到 # 如果你的系統是 18.04,那么需要額外的一些步驟 # 參考 https://ghost.org/docs/install/ubuntu/#mysql-on-ubuntu-1804 sudo apt install nginx mysql-server# 配置防火墻 sudo ufw allow 'Nginx Full'# 安裝 Node.js curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash sudo apt install nodejs# 安裝 Ghost-CLI sudo npm install ghost-cli@latest -g
  • 創建安裝目錄,配置目錄權限,安裝 Ghost

    # 創建并配置目錄 sudo mkdir -p /var/www/ghost sudo chown price:price /var/www/ghost sudo chmod 775 /var/www/ghost cd /var/www/ghost# 安裝 Ghost ghost install
  • 在 ghost install 命令執行之后,首先會下載安裝 ghost,然后會讓你一項一項的配置 ghost,主要有一下幾項:

    • 博客地址:例如 https://example.com,帶上 http 或者 https,如果使用 https, Ghost 會自動幫你設置。使用 IP 地址會報錯,但是這個具體怎么報錯不清楚,還沒遇到過,還是推薦先自己買個域名
    • MySQL hostname:如果 Ghost 和 MySQL 在一個服務器上的話,這一項默認 localhost 即可
    • MySQL 用戶名密碼:前面安裝 MySQL 的時候你設置的用戶名密碼
    • Ghost 數據庫名:默認即可
    • 是否設置一個 Ghost MySQL 用戶:默認是,前提是你前面提供的 MySQL 用戶是 root 用戶
    • 是否設置 NGINX:默認是
    • 是否設置 SSL:如果你前面提供的博客地址是 https,那么就選是,Ghost 會自動幫你用 Let’s Encrypt 設置 SSL。你也可以之后手動執行 ghost setup ssl 來設置
    • 你的郵箱:輸入你的郵箱地址,萬一你的證書有問題(比如到期了),Let’s Encrypt 就會通知你,這個是和上面的 SSL 相關的
    • 是否設置 systemd:默認是
    • 是否啟動 Ghost:默認是
  • 至此,安裝工作全部完成,順利的話就可以輸入你的博客地址進入博客了,也可以使用 ghost ls 來查看你的博客是否在運行。

    配置

    Ghost 安裝好啟動后,就可以輸入你的博客地址進入博客了,在你的博客地址后加上 /ghost 進入博客后臺頁面。第一次進入需要先創建一個新作者(用戶),然后就可以進行編輯發表文章了。

    里面有很多項可以配置,下面我說下如何實現一些常用的功能。

    代碼高亮

    代碼高亮可以使用 Prism JS 庫和 Ghost 的 Code injection 來實現,后者中的代碼會加入到每個頁面中。

    具體做法是將 Prism 的 js(實現代碼高亮) 和 css(主題) 地址分別插入到 Code injection 中的 foorter 和 header 中。地址可以使用 Cloudflare 提供的 CDN 地址。

    對于 js 來說,需要至少兩個:一個核心 js 和 N 個特定語言相關的 js。如果你只需要 Python 語法高亮,那么只用添加 Python 的 js 即可。首先將核心 js 放在最上面,然后依次放入你需要的語言的 js,例如我想要實現 bash 和 Python 的語法高亮,那么在 footer 中內容如下:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.16.0/prism.min.js" integrity="sha256-NFZVyNmS1YlmiklazBA+TALYJlJtZj/y/i/oADk6CVE=" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.16.0/components/prism-bash.min.js" integrity="sha256-0W9ddRPtgrjvZVUxGhU/ShLxFi3WGNV2T7A7bBTuDWo=" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.16.0/components/prism-python.min.js" integrity="sha256-zXSwQE9cCZ8HHjjOoy6sDGyl5/3i2VFAxU8XxJWfhC0=" crossorigin="anonymous"></script>

    對于 css 來說,指定了背景主題。Prism 提供 8 種主題,為了能夠直觀看到每個主題的樣子,我匯總起來做了一個圖如下,你可以選擇你想要的放入 header 即可:

    例如:

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.16.0/themes/prism-tomorrow.min.css" integrity="sha256-xevuwyBEb2ZYh4nDhj0g3Z/rDBnM569hg9Vq6gEw/Sg=" crossorigin="anonymous" /> import numpy as np import pandas as pd# numpy 隨機數 a = np.random.rand(5, 4) df = pd.DataFrame(a, columns=list('ABCD'))

    數學公式

    數學公式一般使用 MathJax 來渲染,同樣將如下代碼放入 Code injection 即可:

    <script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-MML-AM_CHTML' async></script>

    這樣會自動時刻保持最新版本。

    E=mc2E = mc^2E=mc2

    加密博客站點

    實際上是為博客設置一個密碼,只能輸入密碼訪問,并且會取消一切 SEO 優化。在 SETTINGS -> General -> ADVANCED SETTINGS 處啟用 Make this site private 即可。

    郵箱配置

    郵箱配置較長,放在了一篇單獨博文中,參見使用 Mailgun 配置 Ghost 郵箱一文。

    Reference

    • Adding code highlighting to Ghost blog
    • Prism
    • How to Add Syntax Highlighting to Ghost | Biron Themes
    • prism - cdnjs.com - The best FOSS CDN for web related libraries to speed up your websites!
    • MathJax | Beautiful math in all browsers.

    END

    總結

    以上是生活随笔為你收集整理的Ghost 博客平台安装和配置的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。