ghost部落格mysql 搭建Ghost部落格系統

2021-10-18 18:58:34 字數 3457 閱讀 2387

寫在前面的話

很早就想搞個部落格,最近有朋友跟我安利使用ghost部落格來建立個人部落格。本週末正好有空,就開始動手整了。

沒想到,開始上手做之後,才發現ghost官網給的教程有一堆坑。

原本計畫兩個小時搞定部落格安裝並對外的,愣是搞了乙個晚上。目前**終於鼓搗出來,能夠正常訪問了。

趁現在,把那些填過的坑記錄下。以便後來者能躲過去。

我的**用ghost部落格作為應用服務,使用nginx在前端做一層隔離,也方便以後再繼續擴充套件。資料儲存採用了mysql。

故在正式開始安裝ghost之前,首先要準備好nginx和mysql。

因為ghost部落格是使用nodejs開發的,所以最開始需要安裝nodejs相關的環境。

上述三個軟體的具體安裝過程網上已有很多教程,在此不贅述。

開始安裝ghost:

把基礎軟體裝好後,現在就參照上文開始安裝ghost部落格。

2. 解壓到乙個目錄裡面unzip -uo ghost.zip -d ghost

注:使用的伺服器上可能並沒有安裝unzip服務,那要切到有許可權的使用者下,把unzip裝一下。

3. 轉到剛剛解壓的目錄cd /你的 ghost 解壓目錄

4. 安裝ghostnpm install --production

至此,一切正常。

按照上文部落格的說明,此刻,只需啟用ghost部落格的服務即可,然而,當我輸入 npm start的時候,開始報錯了。。

對呀,還沒配置資料庫資訊呢,當然不能啟動起來了。可是怎麼配置資料庫呀?文章沒有說。

然而,我的目錄結構下面根本就沒有這個檔案,find全工程也沒有這個檔名的檔案。

那麼,這個配置檔案在**呢?回去看了下啟動過程,發現程式有從ghost目錄/core/server/conf載入檔案。

於是順藤摸瓜,果然,在ghost目錄/core/server/conf/env下面找到了如下幾個conf檔案:config.development.json

config.production.json

config.testing.json

config.testing-mysql.json

5. 修改資料庫配置資訊

先改config.development.json

原來的檔案長這樣,在開發模式下,ghost使用了sqlite作為他的資料庫,但是我使用的是mysql。

故需要修改"database"節點內容。{

修改後的檔案是這樣子的,"database"節點內為修改過的內容:{

按同樣的邏輯,修改config.production.json,至此,資料庫配置就修改好了。

修改好資料庫配置,我馬上再次執行npm start,可惜,仍然報錯了。

報錯資訊如下:name:databaseisnotokerror

code:migration_table_is_missing

message:please run knex-migrator init

其實這報錯是因為資料庫沒初始化,該有的表呀什麼的都沒有建,所以應用啟動不起來。

6. 資料庫初始化

閱讀報錯資訊後,我決定先跑一邊knex-migrator init。

第一遍果然失敗了,因為我都沒裝knex-migrator,於是搜尋了,跑了下如下命令:npm install -g knex-migrator

把knex-migrator 裝上了。然後回到ghost安裝目錄,執行資料庫初始化。cd  yourpathtoghostfolder

knex-migrator init

ok。顯示了一堆的create table等資訊,終於把資料庫初始化好了。

此刻再執行npm start,終於把**起起來了。npm start

npm start是在development模式下啟動應用。

按照以往部署的經驗,production資料配置已經配置好了,應該可以啟動production模式了。

於是我執行如下命令,企圖在production模式下啟動部落格,然而,失敗了。npm start --production

又報這個錯,

name:databaseisnotokerror

剛剛不是剛剛初始化過嗎,怎麼又不行了呢?

我趕緊登上mysql上去看看。這一看是嚇我一跳,development db上的庫表都建好了。

但是,productiondb上的沒有建好!!!

哎,原來這個knexi-migrator init 只給我初始化了development 資料庫。

剛開始我試圖搜尋方案讓knexi-migrator直接幫我把開發庫和生產庫初始化了,左試試右試試,最終還是沒解決。

最後沒法,我只能把produciton庫的庫表資訊寫到config.development.json裡面,再跑一次knex-migrator init。

初始化表之後,再跑一次npm start --production,終於把production模式的部落格也啟動起來了。至此,部落格安裝完成。npm start --production

後面就是配置nginx了,此處略過。

CentOS 7 2 搭建 Ghost 部落格

因為平時記錄一些文件或想法基本使用 markdown 的語法,mac 下推薦一款 markdown 的編輯器 haroopad 上週無意發現 ghost 有支援 mac 的桌面版本了,並且同樣開源 這樣後面記錄一些文件也可以同步到網路上就很方便了,於是重新搭建了乙個。ghost 是基於 nodejs...

Ubuntu 搭建Ghost1 0部落格系統

最近想使用ghost搭建自己的部落格 網上搜尋了下大多都是1.0之前版本搭建的文章,但是ghost1.0版本已經可用好一段時間了,所以決定根據官方文件搭建ghost1.0版本的部落格系統。下面開始一步步講解在自己伺服器上搭建 安裝 配置ghost的過程。不要被這麼多清單嚇到,基本上只需要乙個記憶體1...

使用 Ghost 寫部落格

今天在上試用了一會,發現這是乙個出色的部落格平台,相比wordpress,更輕量級,而且是使用node.js來做的,效能也是非常的不錯。輕量級 支援主題 支援markdown語法 ctrl.selectedarray ctrl.checkall function ctrl.getselectedar...