在 OpenShift 上免費(fèi)搭建 Ghost 博客的過程

Ghost 簡(jiǎn)介

Ghost 是一個(gè)基于 Node.js 的開源博客平臺(tái),由前 WordPress UI 部門主管 John O’Nolan 和 WordPress 開發(fā)人員 Hannah Wolfe 創(chuàng)立蔚袍,目的是為了給用戶提供一種更加純粹的內(nèi)容寫作發(fā)布平臺(tái)茄袖。

Ghost 簡(jiǎn)單輕量部署快,后臺(tái)使用具備預(yù)覽功能的 Markdown 編輯器進(jìn)行寫作恒界,這些就是我選擇它的原因喂柒。(下面提及的 Bug 還沒修復(fù),所以現(xiàn)在改用 Hexo 了 —— Ghost 博客一覽請(qǐng)點(diǎn)擊

搭建過程

主要參考了《使用 Nitrous.IO+OpenShift 免費(fèi)搭建 Ghost 博客》這篇文章棚放,下面就將搭建的過程簡(jiǎn)單的記錄一下枚粘,說說遇到的坑以及解決方法。

  1. 注冊(cè) OpenShift使用其提供的免費(fèi)服務(wù)搭建 Ghost Blog飘蚯。

  2. 注冊(cè) nitrous.io赌结,該服務(wù)提供了一個(gè)在線的 Linux 開發(fā)環(huán)境,稍后需要使用這個(gè)環(huán)境安裝 Ghost 和配置孝冒。注冊(cè)后創(chuàng)建 Node.js IDE 時(shí)需要通過手機(jī)短信進(jìn)行驗(yàn)證柬姚,經(jīng)測(cè)試中國(guó)移動(dòng)的號(hào)碼無(wú)法使用免費(fèi)的方案,遂借用 Heywire 這個(gè)手機(jī)應(yīng)用(獲得虛擬的美國(guó)號(hào)碼庄涡,免費(fèi)接收短信)完成了驗(yàn)證量承。

  3. 使用 nitrous.io 的 Node.js IDE 環(huán)境搭建 Ghost Blog:

  • 安裝 rhc 工具(OpenShift 的客戶端工具):sudo gem install rhc
  • 初始化 rhc 工具:rhc setup(按照提示輸入用戶名密碼)
  • 安裝 Ghost Blog:rhc app create ghost nodejs-0.10 mysql-5.1 --env NODE_ENV=production --from-code https://github.com/openshift-quickstart/openshift-ghost-quickstart.git(該語(yǔ)句中的 ghost 以及下文 rhc 命令中的 ghost 同為 OpenShift 中的應(yīng)用名,可自行更改為其它內(nèi)容)
  1. 這時(shí)已經(jīng)可以通過http://ghost-用戶名.rhcloud.com連接訪問 Ghost Blog 了穴店,但是由于眾所周知的原因 OpenShift 很可能被墻了撕捍,這時(shí)候就得通過自定義域名來繞過圍墻:
  • 在 OpenShift 中自定義域名:rhc alias add ghost [你自己的域名]
  • 在 DNS 服務(wù)商處,將對(duì)應(yīng)域名的 CNAME 記錄指向 ghost-用戶名.rhcloud.com
  • 在 nitrous 中打開 ghost/config.js 文件泣洞,將 'http://'+process.env.OPENSHIFT_APP_DNS 替換為 'http://[你的域名]'
  1. 使用 CDN 加速訪問(非必須):
  • 不知為何無(wú)法使用 Incapsula 服務(wù)忧风,獲取不到我的 IP,所以選擇了 Cloudflare球凰。
  • 經(jīng)測(cè)試國(guó)內(nèi)訪問Cloudflare速度也不夠快狮腿,考慮備案然后使用國(guó)內(nèi)的 CDN 服務(wù)。
  1. 也是因?yàn)楸娝苤脑蚺凰撸枰鎿Q Google Font 使用 360 CDN 提供的字體庫(kù)缘厢,打開 ghost/content/themes/[主題]/default.hbs 文件,搜索fonts.googleapis.com全部替換為fonts.useso.com

  2. 參考《解決 Ghost 中 gravatar 被墻不能顯示的問題》甩挫,數(shù)據(jù)庫(kù)相關(guān)信息可在 OpenShift 中找到:

     mysql -u [數(shù)據(jù)庫(kù)用戶名] -p -D [數(shù)據(jù)庫(kù)名稱]
     Enter password:[數(shù)據(jù)庫(kù)密碼]
     select image from users where email = "your email address";
     update users set image = "http://去掉www的Gravatar地址" where email = "your email address";
    
  3. 主題安裝:

     cd ~/ghost/content/themes/
     git clone [git地址]
    

可能需要為 git 設(shè)置默認(rèn)的用戶名以及郵箱贴硫,下載完主題后需刪除目錄下的 .git 目錄以及 .gitignore,以免稍后無(wú)法應(yīng)用更新伊者。

  1. 添加多說(試用多說過程中彈出了廣告)Disqus評(píng)論區(qū)以及 Swiftype 站內(nèi)搜索的代碼可以放置在后臺(tái)Setting -> Code Injection中英遭,不必修改主題。以下是我修改過的多說腳本(請(qǐng)將 short_name 改為自己的):
<!-- 多說公共JS代碼 start (一個(gè)網(wǎng)頁(yè)只需插入一次) -->
<script type="text/javascript">
    var s = document.createElement("section");
    s.className = "post-comments";
    s.innerHTML = '<div class="ds-thread" data-thread-key="' + location.pathname.replace(/\//g,"") + '" data-title="'+ document.title +'" data-url="' + location.href.replace(/^https/, "http") + '"></div>';
    document.querySelector(".post-container").parentNode.appendChild(s);
    var duoshuoQuery = {short_name:"xxxxxxxxx"};
    (function() {
        var ds = document.createElement('script');
        ds.type = 'text/javascript';ds.async = true;
        ds.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//static.duoshuo.com/embed.js';
        ds.charset = 'UTF-8';
        (document.getElementsByTagName('head')[0]
         || document.getElementsByTagName('body')[0]).appendChild(ds);
    })();
</script>
<!-- 多說公共JS代碼 end -->
  1. 更新應(yīng)用亦渗,在 nirtous 中做的所有更改均需通過 git 同步到 OpenShift 中挖诸,使用以下命令即可:
    cd ~/ghost
    git add .
    git commit -m "[隨便輸入什么內(nèi)容]"
    git push
等待更新成功提示出現(xiàn):`remote: Deployment completed with status: success`
  1. 開始寫作,通過網(wǎng)址http://[你的域名]/ghost初始化博客央碟,設(shè)置管理員賬號(hào)密碼税灌,然后進(jìn)入后臺(tái)寫作以及配置

未解之謎

  • 嘗試配置七牛云存儲(chǔ)后無(wú)法啟動(dòng) Ghost -_-
  • 嘗試在 cloudflare 中使用 page rule 功能使 demojameson.com 跳轉(zhuǎn)到 www.demojameson.com 失敗均函,轉(zhuǎn)而使用 wwwizer 實(shí)現(xiàn)該功能,兩個(gè)域名均需在 cloudflare 中添加 CNAME 記錄菱涤,在 OpenShift 中添加 Alias
  • 有序列表中插入代碼塊會(huì)擾亂順序苞也,使用8 個(gè)空格的縮進(jìn)又不能指定代碼高亮,心好累……原來是個(gè)已知 Bug
    {% asset_img ghost-markdown-bug.png %}

參考資料

  1. 使用 Nitrous.IO+OpenShift 免費(fèi)搭建 Ghost 博客
  2. 簡(jiǎn)單實(shí)現(xiàn) Ghost 獨(dú)立博客的 QQ 空間粘秆、新浪微博和人人網(wǎng)分享按鈕
  3. 解決 Ghost 中 gravatar 被墻不能顯示的問題
  4. 綁定 GoDaddy 域名到 OpenShift 應(yīng)用
  5. 用 Prism 給 Ghost 添加代碼高亮
  6. Ghost 博客平臺(tái):安裝多說, Disqus
  7. 使用 Swiftype 完成 Ghost 搜索功能
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末如迟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子攻走,更是在濱河造成了極大的恐慌殷勘,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昔搂,死亡現(xiàn)場(chǎng)離奇詭異玲销,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)摘符,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門贤斜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人逛裤,你說我怎么就攤上這事瘩绒。” “怎么了带族?”我有些...
    開封第一講書人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵锁荔,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我蝙砌,道長(zhǎng)阳堕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任拍霜,我火速辦了婚禮嘱丢,結(jié)果婚禮上薪介,老公的妹妹穿的比我還像新娘祠饺。我一直安慰自己,他們只是感情好汁政,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開白布道偷。 她就那樣靜靜地躺著,像睡著了一般记劈。 火紅的嫁衣襯著肌膚如雪勺鸦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,713評(píng)論 1 312
  • 那天目木,我揣著相機(jī)與錄音换途,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛军拟,可吹牛的內(nèi)容都是我干的剃执。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼懈息,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼肾档!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辫继,我...
    開封第一講書人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤怒见,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后姑宽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遣耍,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年炮车,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了配阵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡示血,死狀恐怖棋傍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情难审,我是刑警寧澤瘫拣,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站告喊,受9級(jí)特大地震影響麸拄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜黔姜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一拢切、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧秆吵,春花似錦淮椰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至毙芜,卻和暖如春忽媒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背腋粥。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工晦雨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留架曹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓闹瞧,卻偏偏與公主長(zhǎng)得像音瓷,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子夹抗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容