1. 程式人生 > >從零搭建生產環境的ghost2.0部落格

從零搭建生產環境的ghost2.0部落格

當前安裝過程是在ghost cli 1.9.2上的,由於ghost更新特別快,我安裝我個人部落格cmlanche.com的時候還是1.9.1,當時沒碰到啥問題,到1.9.2就有一點點不一樣了,所以要注意當時你的安裝版本。

針對安裝過程我會針對ghost的更新不斷更新文件

環境要求

  1. 作業系統:Ubuntu 16.04 or Ubuntu 18.04 見主機購買文章:Vultr主機購買流程

  2. MySQL

  3. Nginx(最低1.9.5,目的是為了安裝SSL)

  4. Systemd

  5. NodeJS(推薦使用>=8.9 (Node v8 carbon LTS)

    ,不支援9+,10+)

  6. 至少1GB記憶體

  7. 在非root使用者下執行ghost命令

環境安裝

# 登入你的Ubuntu系統
ssh [email protected]<yourip>
# 新增系統新使用者
adduser <yourusername>
# 提高該使用者許可權
usermod -aG sudo <yourusername>
# 登入到這個使用者
su <yourusername>
# 更新Ubuntu的包管理工具apt-get
sudo apt-get update
sudo apt-get upgrade
# 安裝Nginx
sudo apt-get install nginx
# 為http和https開啟防火牆
sudo ufw allow 'Nginx Full'
# 安裝MySql
sudo apt-get install mysql-server
# 登入到mysql,更新root密碼
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<you-mysql-password>';
# 建立mysql資料庫
create database <yourdatabasename>
# 退出mysql
exit
# 以後你登入mysql,就需要這樣了:
mysql -uroot -p
# 安裝NodeJS
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash
sudo apt-get install -y nodejs
# 安裝Ghost CLI
sudo npm i -g ghost-cli
# 建立ghost安裝目錄,並賦予許可權
sudo mkdir -p /var/www/ghost
sudo chown <yourusername>:<yourusername> /var/www/ghost # 比如我的使用者名稱是test,那就用test:test
sudo chmod 775 /var/www/ghost # 賦予該目錄讀寫許可權
# 將工作環境切換到ghost安裝目錄
cd /var/www/ghost
# 安裝ghost
ghost install # 安裝會預設使用mysql資料庫,另外可以選擇使用sqlite,生產環境當然用mysql了

環境排錯

在使用ghost install安裝的時候,報錯:

✔ Checking system Node.js version
✔ Checking logged in user
✔ Checking current folder permissions
✔ Checking operating system compatibility
✔ Checking for a MySQL installation
✔ Checking memory availability
✖ Checking for latest Ghost version
A ProcessError occurred.
​
Message: Command failed: yarn info ghost versions --json
{"type":"error","data":"An unexpected error occurred: \"EACCES: permission denied, scandir '/home/cmlanche/.config/yarn/link'\"."}

錯誤說/home/cmlanche/.config沒許可權,那麼我們授予當前使用者這個目錄的許可權:

sudo chown cmlanche:cmlanche /home/cmlanche/.config

注意這裡的cmlanche是我係統裡面的使用者名稱,你應該替換成你的使用者名稱。

ghost安裝必須在一個空目錄,而剛剛出錯,產生了一個叫yarn-error.log的檔案,我們需要刪掉它:

rm yarn-error.log

然後再次安裝

ghost install

輸出:

[email protected]:/var/www/ghost$ ghost install
✔ Checking system Node.js version
✔ Checking logged in user
✔ Checking current folder permissions
✔ Checking operating system compatibility
✔ Checking for a MySQL installation
✔ Checking memory availability
✔ Checking for latest Ghost version
✔ Setting up install directory
✔ Downloading and installing Ghost v2.1.0
✔ Finishing install process
? Enter your blog URL: (http://localhost:2368) https://www.vultrhosting.com

這樣就表示ghost安裝環境一切正常了!

演示安裝VultrHosting.com

我們當然會要求安裝ssl證書了,ghost利用國人編寫的acme.sh提供了一整套非常便捷的安裝Let’s Encrypt ssl數字證書的流程,官方配置看config

Enter Your Blog URL: 設定你的部落格站點地址

我們輸入: https://www.vultrhosting.com,這裡我們需要注意的是要設定為https,對這個域名vultrhosting.com要提前設定好域名解析,例如下圖:

上圖是阿里雲後臺的截圖,你需要再你的域名註冊商設定@和www這兩個主機記錄,指向你的主機IP地址。注意一定要提前設定好,後續安裝ssl證書的時候會去檢測解析狀態的

Enter your MySQL hostname: 設定你的mysql主機地址

預設用localhost就好

Enter your MySQL username: 設定你的mysql使用者名稱

我們用root就好,或者你自己登入到mysql去建一個新使用者,注意要賦予必要的許可權,比較麻煩,我們就用root就好了。使用者名稱輸入了,再輸入你的mysql資料庫密碼,密碼就是環境安裝中你重設的root密碼

Do you wish to set up "ghost" mysql user? 是否希望建立一個ghost的mysql使用者

n,否

Do you wish to set up Nginx?

Y,當然安裝了

Do you wish to set up SSL?

Y,等待ssl安裝完成

Do you wish to set up Systemd?

Y,必要選擇,文章開頭的環境要求就說了,必須要Systemd

✔ Creating systemd service file at /var/www/ghost/system/files/ghost_www-vultrhosting-com.service
Running sudo command: ln -sf /var/www/ghost/system/files/ghost_www-vultrhosting-com.service /lib/systemd/system/ghost_www-vultrhosting-com.service
Running sudo command: systemctl daemon-reload
✔ Setting up Systemd
? Do you want to start Ghost? Yes
Running sudo command: systemctl is-active ghost_www-vultrhosting-com
✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
Running sudo command: systemctl is-active ghost_www-vultrhosting-com
✔ Validating config
✔ Checking folder permissions
✔ Checking file permissions
✔ Checking content folder ownership
✔ Checking memory availability
Running sudo command: systemctl start ghost_www-vultrhosting-com
✔ Starting Ghost
Running sudo command: systemctl is-enabled ghost_www-vultrhosting-com
Running sudo command: systemctl enable ghost_www-vultrhosting-com --quiet
✔ Enabling Ghost instance startup on server boot
You can access your publication at https://www.vultrhosting.com
Next, go to to your admin interface at https://www.vultrhosting.com/ghost/ to complete the setup of your publication
​
Ghost uses direct mail by default
To set up an alternative email method read our docs at https://docs.ghost.org/docs/mail-config

ghost安裝失敗怎麼辦?

比如操作失誤,你可以ghost uninstall來刪除剛剛安裝的ghost,注意需要再ghost工作目錄下執行,所有的ghost命令都要求制定工作目錄,上面我使用的工作目錄是/var/www/ghost

刪除ghost之後,你可以重試,如果還是出問題,那麼你可以:

  1. 求助我,QQ:1204833748,微信:cmlanche

ghost停止、啟動命令

ghost stop
ghost start

ghost後臺管理

ghost後臺管理會再第一次開啟會是一個註冊介面,要求輸入管理員賬號和密碼,註冊成功之後再次開啟,如果沒有登入的話,就是一個登入介面。所以註冊認證只有一次。但是ghost系統並不僅僅只有一個使用者,你可以在後臺管理邀請其他人加入你的網站系統,通過發郵件邀請的方式。

ghost後臺介面一覽

ghost CMS部落格系統崇尚的是簡潔簡便,後臺管理真的是讓人愛不釋手,第一次看到它就喜歡上了,因為它我愛上了寫部落格,讓我有了認真寫作的心,謝謝你ghost!

相關推薦

搭建生產環境ghost2.0部落

當前安裝過程是在ghost cli 1.9.2上的,由於ghost更新特別快,我安裝我個人部落格cmlanche.com的時候還是1.9.1,當時沒碰到啥問題,到1.9.2就有一點點不一樣了,所以要注意當時你的安裝版本。 針對安裝過程我會針對ghost的更新不斷更新文件

搭建生產Hadoop叢集(七)——關鍵伺服器雙網絡卡配置

一、概述 Hadoop叢集中,有許多伺服器部署著關鍵例項,如NameNode、ResourceManager、Zookeeper等,這些服務的穩定執行對叢集健康具有重要意義。雖然這些服務基本上都會做多例項高可用部署,但是若連線的是同個交換機,萬一交換機發生故障

搭建生產Hadoop叢集(八)——上線與下線資料節點流程

一、概述 Hadoop叢集中,經常需要在不重啟叢集的前提下,動態地上線與下線資料節點,而使用Cloudera Manager管理的叢集,可以很方便地做到這一點,本文將介紹其相關流程。 二、節點上線流程 1. 伺服器初始化 新節點的硬體配置最好能夠跟原叢集伺服器

搭建生產Hadoop叢集(三)——CDH叢集搭建

一、概述 繼本系列前兩篇文章講到的離線安裝YUM源搭建及規劃與環境準備,本文開始講述CDH叢集的搭建步驟及注意要點。本文基於CentOS7進行部署,Cloudera Manager版本選擇5.8.1,CDH版本5.8.0。 二、硬體檢查與系統配置 1.硬體檢查

centos7 手把手搭建深度學習環境 (以TensorFlow2.0為例)

目錄 一. 搭建一套自己的深度學習平臺 二. 安裝系統 三. 安裝NVIDA元件 四. 安裝深度學習框架 TensorFlow 五. 配置遠端訪問 六. 驗收

kotlin web開發教程【一】搭建kotlin與spring boot開發環境

1.8 jre cond utf8 erro 2.0 .com 就會 一個tomcat IDEA中文輸入法的智能提示框不會跟隨光標的問題我用的開發工具是IDEA這個版本的IDEA有一個問題;就是中文輸入法的智能提示框不會跟隨光標解決這個問題的辦法很簡單,只有在安裝目錄下把J

DevOps環境搭建(二)

images blue roc ces 檢查 user nag col 技術分享 DevOps環境從零搭建(一) 前文說到jenkins已經安裝好了,安裝pipeline及blue-ocean(好看)插件。 切換到blue-ocean風格,創建一個pipeline,網上很多

伺服器搭建GPU版本的TensorFlow環境

系統資訊: Ubantu18.04,GPU:Tesla P100 1. 使用Xshell 登入伺服器 2. 安裝nvidia驅動 根據伺服器nvidia資訊,下載對應版本的驅動(http://www.nvidia.com/Download/index.aspx?lang=e

搭建Robot Framework+Jenkins持續整合環境

安裝Jenkins 系統環境:CentOS Linux release 7.3.1611 x86_64 GNU/Linux 安裝JDK Jenkins是基於Java開發的持續整合系統(CI),所以執行環境必須安裝JDK,安裝JDK的方法有很多種,有些Linux系統可能會自帶o

搭建ES搜索服務(一)基本概念及環境搭建

class 分析 nload 返回結果 fire blog count 搜索服務 變化 前言 本系列文章最終目標是為了快速搭建一個簡易可用的搜索服務。方案並不一定是最優,但實現難度較低。 背景 近期公司在重構老系統,需求是要求知識庫支持全文檢索。 我們知道普通的數據庫li

搭建ES搜尋服務(一)基本概念及環境搭建

前言 本系列文章最終目標是為了快速搭建一個簡易可用的搜尋服務。方案並不一定是最優,但實現難度較低。 背景 近期公司在重構老系統,需求是要求知識庫支援全文檢索。 我們知道普通的資料庫like方式效果及效能都不好,所以另尋出路,確定通過 Elasticsearch (下文簡稱「 ES 」)搜尋引擎實現。

SpringBoot之搭建部落網站(可提供原始碼)

文字不夠,圖片來湊。 前言 為什麼想要搭建這個部落格? 我還記得,在大二寒假的某天,同往常一樣的在家解決這某個bug,不停地問度娘,很巧的碰到了一個同行在他的部落格中完美的記錄了我的bug的解決方案,隨後我又看了看他寫的其他部落格文章,覺得都非常的不錯,並

webpack-搭建vue開發環境

先說再前面, 本篇博文是沒有用vue-cli搭建的, 只是一個學習webpack的demo, 當然也不能用於實際開發中, 如果讀者想看vue-cli搭建實際開發專案, 可以去vue-cli3 我們的

windows搭建OpenGL freeglut環境

1.首先先找到自己系統裡OpenGL相關.h .lib .dll的位置 一般系統裡已自帶,只要去找到就好,我的位置: gl.h C:\Program Files\Microsoft SDKs\Wind

AI 入門,搭建完整 AI 開發環境,並寫出第一個 AI 應用

是時候學習 AI 了!怎麼做我們來教你。 所需環境:64位的 Windows10,Windows8/7 64位下也能安裝。機器要有至少 30G 的硬碟空間。要求:讀者需要知道怎麼用基本的 GitHub 操作和基本程式開發。 本場 Chat 主要內容:入門 AI 工具和平臺,一

springmvc學習筆記(一) -- 搭建,基礎入門

out hand char webapp core localhost list ges del 1、新建maven項目 參考mybatis學習筆記(五) -- maven+spring+mybatis從零開始搭建整合詳細過程(上)第一部分,修改配置 2、修

搭建SSM框架(五)使用Maven實現Tomcat熱部署

SSM框架 技術分享 pre root mil p地址 註意 eight -1 配置tomcat 第一步:需要修改tomcat的conf/tomcat-users.xml配置文件。添加用戶名、密碼、權限。 <role rolename="manager-gui

學java筆錄-第0

c++ 什麽是 每天 dir 之間 str 退出 span 跨平臺 從零學java筆錄-第0篇 寫在前面的話: 一直想把自己學習java的過程分享出去,以前只是太懶,最近工作又太忙。好不容易國慶了,整理了自己從零開始學java的筆記。以後無論在忙努力堅持每天至少發一到兩篇。

hexo + github 搭建 windows 傻瓜式 完美版

當前 strong 文件夾 windows == npm安裝 rep link watermark 這裏介紹的windows 下 安裝 廢話不說,開始 1、安裝NodeJs Hexo需用通過npm安裝,而npm需要node,現在只要安裝node 就自帶 npm了 下載地址

機器學習與量化交易項目班 [搭建自動交易系統]

tid TP 項目班 ref AR 模型選擇 簡介 控制 Go 第一課 自動化交易綜述知識點1: 課程內容綜述,自動化/算法交易介紹,python在自動交易中的應用簡介第二課 量化交易系統綜述知識點1:回測,自動交易,策略建模,常見平臺使用第三課 搭建自己的量化數據庫知識點