1. 程式人生 > >如何搭建Ghost開源輕博客的

如何搭建Ghost開源輕博客的

郵箱 rec package 錯誤2 阿裏雲 port 失敗 服務器搭建 utf8

啥是Ghost?

一個開源的輕型博客,其具體的介紹可以查看官方網站,這裏筆者僅寫一些實戰的東西。博客效果如下圖,可以更換各種主題,當然也可以自定義主題:

  • 一個開源的輕博客系統,運行在nodejs環境中。
  • 安裝即用,方便快捷。
  • 多款主題,隨便選擇,當然,你也可以創建自定義主題。
  • 支持郵件、雲存儲等等,npm下載你需要的任何組件
  • 過多不介紹,如果你想了解Ghost歷史,請自行查詢。

![](/content/images/2017/01/QQ--20170116150425.jpg)

思路解析

  1. 首先,ghost運行在nodejs環境下, 首先你要安裝nodejs、npm(nodejs的包管理工具)。
  2. 博客的文章存放在哪呢?當然是數據庫了。所以你要搭建一臺數據庫,ghost默認數據庫為sqlite,不過筆者還是建議使用mysql,畢竟其他數據庫我不熟。
  3. nodejs本身可以當做服務器來使用,但為了負載均衡和一個服務器搭建多站點,筆者還是搭建了一臺nginx,然後讓nginx轉發到nodejs服務器上。
  4. 當搭建完成之後,下載ghost包,然後安裝、運行,這時,博客就搭建完成了。

真槍實幹

1.安裝環境(數據庫、Nginx服務器、nodejs、npm)

apt-get update  
apt-get install mysql-server  
apt-get install nginx  
apt-get install nodejs  
apt-get install npm

輸入以下命令進行測試:

nodejs -v  
npm -v  
mysql --version  
nginx -v
技術分享圖片

2.下載ghost包 到 Ghost中文網 下載集成包,因為使用npm install會很慢,並且容易出錯。

技術分享圖片

3.將npm的源換成國內的源
臨時使用:npm --registry https://registry.npm.taobao.org install package

package是需要安裝的軟件包名

永久使用:npm config set registry https://registry.npm.taobao.org

使用npm config get registry

來查看是否配置成功

4.安裝相應軟件

  • 解壓並進入到ghost目錄:unzip ghost.zip -d blog
  • 進入到blog:cd blog
  • 安裝相應擴展包:npm install

錯誤1:下載包時間過長,導致安裝失敗。很可能是因為換源的問題,解決方式就是換源;當然還可能是你的網速的原因。

錯誤2:sh: 1: node: not found,這是什麽原因呢?系統中沒有這個node命令,我們有的命令是nodejs,所以我們只需要將cp /usr/bin/nodejs /usr/bin/node復制一份即可,這時,node命令就存在了,二者作用一樣。

技術分享圖片 技術分享圖片 技術分享圖片

5.安裝成功

技術分享圖片

6.配置Nginx 因為我們安裝了nginx,nginx默認監聽80端口。這時,我們需要配置nginx,讓nginx轉發到nodejs搭建的服務器之上。

cd /etc/nginx/site-available  
vim default

修改server下location選項,讓nginx轉發到nodejs

...(省略)
server {  
    ...(省略)
    server_name "修改成你自己的域名";
location / { 
    // 轉發到nodejs服務器之上
    proxy_pass http://127.0.0.1:2368;
    // 註釋掉下面這行,只留下上面這個參數
    // try_files $uri/ $uri/ = 404; 

}
...(省略)

7.配置ghost相關選項 ghost根目錄下有一個配置文件,為config.js;沒有的話復制一份config.example.js即可。

config = {  
    production: {
        url: ‘http://域名‘,
        mail: {
            transport: ‘SMTP‘,
            from: ‘郵箱@163.com‘,
            options: {
                host: ‘smtp.163.com‘,
                port: 25,
                secureConnection: false,
                auth: {
                    user: ‘郵箱@163.com‘,
                    pass: ‘郵箱授權碼‘
                }
            }
        },
    // 配置MySQL 數據庫
    database: {
        client: ‘mysql‘,
        connection: {
            host     : ‘127.0.0.1‘,
            user     : ‘用戶‘,
            password : ‘密碼‘,
            database : ‘數據庫‘,
            charset  : ‘utf8‘
        },
        debug: false
    },
    server: {
        host: ‘127.0.0.1‘,
        port: ‘2368‘
    },

    //Storage.Now,we can support `qiniu`,`upyun`, `aliyun oss`, `aliyun ace-storage` and `local-file-store`
    //storage: {
    //    provider: ‘local-file-store‘
    //}


    // 阿裏雲OSS
    storage: {
        provider: ‘oss‘,
        bucketname: ‘你的bucketname‘,
        ACCESS_KEY: ‘密鑰‘,
        SECRET_KEY: ‘密鑰‘,
        root: ‘/image/‘,
        endpoint: ‘http://oss-cn-qingdao.aliyuncs.com‘,  //阿裏雲的上傳端點是分地域的,需要單獨設置
        prefix: ‘http://blog-ghost.oss-cn-qingdao.aliyuncs.com‘
    }
},

};
module.exports = config;

8.博客跑起來 項目根目錄下,運行

npm start --production
技術分享圖片

9.首次進入後臺需要配置若幹選項 URL地址:域名/ghost

技術分享圖片

傻瓜式操作,下一步下一步安裝即可。

10.讓nodejs一直運行

npm install forever -g # 全局安裝forever工具  
NODE_ENV=production forever start index.js # 生產模式後臺運行ghost  
forever list # 查看後臺運行程序  
forever stopall # 關閉所有

如何搭建Ghost開源輕博客的