寫在前面的話
很早就想搞個部落格,最近有朋友跟我安利使用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...