如何搭建一個Ghost平臺部落格

假裝我是程式猿發表於2017-11-09

用的是一鍵安裝指令碼

wget http://7xjooa.dl1.z0.glb.clouddn.com/install.sh && chmod 755 install.sh && ./install.sh複製程式碼

在shell終端執行這個指令碼,中間會讓輸入三次,第一次域名,第二次mysql資料庫root的密碼,第三次mysql資料庫ghost的密碼。

安裝完成後輸入你的域名/ghost設定管理員資訊即可(域名記得要解析)。

我剛好搭了一個自己的個人部落格,主機買的是阿里雲的,域名在萬網直接買的。

看樣子題主還是個一無所知的小白,那剛好我也在這裡總結下我自己的搭建Ghost部落格的過程吧。

伺服器篇:
伺服器的選擇比較廣,關於伺服器的選擇國內國外的爭論在此不提。

記住一點:國內主機解析域名需備案!

伺服器的系統:Ubuntu14.04 64位。

域名篇:
域名的話和伺服器一樣,購買選擇比較寬泛,建議直接國內萬網得了,省事。
再買完伺服器以後,阿里雲的首頁就會有“萬網”的連結,直接跳轉過去購買,淘寶一樣的操作,不多講。

域名解析:
在購買完域名和伺服器以後呢,就可以在阿里雲伺服器控制檯進行解析。進入阿里雲控制檯以後,就可以直接看到,這裡不是重點,就不講了。

備案篇:
阿里雲的備案服務還是很好的,和在淘寶購物一般,一切都可以線上完成,無腦,只需要耐心等待審批過程。
備案服務也在控制檯裡可以看見。

工具篇:
有了以上這些東西,為了方便使用阿里雲主機,請下載Xshell,Xftp兩個工具。
這連個工具全部免費,網上使用教程也滿天飛,在此不多說。

-------------------------------------------------重點來了----------------------------------------------

現在已經有了阿里雲的主機,解析了伺服器,阿里雲的主機系統也選擇好了(Ubuntu14.04 64位)

Step1 基礎配置:
Ghost是依託於node.js的,所以要先搭建node環境。

sudo apt-get update  
sudo apt-get install -y python-software-properties python g++ make  
sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs複製程式碼

這些命令全部執行完畢以後,要確認是否配置成功。在終端輸入:

node -v
v0.10.36複製程式碼

顯示node的版本號,即為安裝成功。

接下來再確認一下npm安裝是否成功,終端輸入:
npm -v
同樣,輸出版本號為安裝成功。

Step2配置Ghost:
首先要新建一個工作空間(資料夾)來存放Ghost:

sudo mkdir -p /var/www/複製程式碼

下載Ghost:

進入剛才建立的工作空間
cd /var/www/
下載Ghost並解壓

sudo wget https://ghost.org/zip/ghost-latest.zip
sudo unzip -d ghost ghost-latest.zip複製程式碼

(解壓的時候可能會出錯,是因為沒有下載解壓工具unzip,執行命令下載即可,然後重複解壓命令。)

sudo apt-get install unzip複製程式碼

安裝Ghost的生產模組:

cd ghost/
sudo npm install --production複製程式碼

現在我們已經安裝完了,但是需要設定之後,才能啟動它。

Ghost設定:

sudo cp config.example.js config.js複製程式碼

這句話的意思複製config.example.js 並命名為config.js,我們要對config.js這個檔案進行修改:
sudo nano config.js

(這句話是用nano開啟config.js,提示沒有安裝nano的話,輸入以下命令安裝,然後重複上一條命令:)

sudo apt-get install nano複製程式碼

開啟以後,修改以下被標註的區域:

config = {
    // ### Production
    // When running Ghost in the wild, use the production environment
    // Configure your URL and mail settings here
    production: {
        url: 'http://my-ghost-blog.com',
###將‘  ’內部的內容修改為你的解析後的域名,注意帶上http
        mail: {
            // Your mail settings
        },
        database: {
            client: 'sqlite3',
            connection: {
                filename: path.join(__dirname, '/content/data/ghost.db')
            },
            debug: false
        },

        server: {
            // Host to be passed to node's `net.Server#listen()`
            host: '127.0.0.1',
###將‘127.0.0.1’改為‘0.0.0.0’
            // Port to be passed to node's `net.Server#listen()`, for iisnode s$
            port: '2368'
        }
    },

(...)複製程式碼

然後CTRL + X再輸入Y然後敲ENTER退出。

現在已經配置好了Ghost,輸入:

sudo npm start --production複製程式碼

大概會顯示:

ghost@0.6.4 start /var/www/ghost
node index

Migrations: Database initialisation required for version 003
Migrations: Creating tables...
Migrations: Creating table: posts

[...]
然後現在你就可以讓你的Ghost使用2368這個埠:http://你的域名.com:2368就可以看到Ghost本尊。

CTRL + C可以結束掉正在開啟的Ghost

但是這還不是結束!
接下來要讓你的Ghost一直處於執行狀態。

Step4 配置伺服器程式:
在終端執行:

sudo apt-get install nginx複製程式碼

接下來需要對Nginx進行一些配置:

sudo apt-get install nginx
sudo rm sites-enabled/default
sudo touch /etc/nginx/sites-available/ghost
sudo nano /etc/nginx/sites-available/ghost複製程式碼

然後把這些程式碼貼上進去:

server {
    listen 80;
    server_name your_domain.tld;
###修該為你的域名
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://127.0.0.1:2368;
    }
}複製程式碼

然後建立一個連結,將你新建的配置告訴Nginx:

sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost複製程式碼

然後重啟Nginx:

sudo service nginx restart複製程式碼

接下來建立一個新的使用者,並給與他許可權:

sudo adduser --shell /bin/bash --gecos 'Ghost application' ghost
sudo chown -R ghost:ghost /var/www/ghost/複製程式碼

然後用ghost使用者使用系統:

su - ghost複製程式碼

現在我們要開啟Ghost:

cd /var/www/ghost
npm start --production複製程式碼

然後你可以在瀏覽器輸入你的域名來檢視你的Ghost部落格。

Step5 保持Ghost的執行:
我們得先退出ghost使用者:
exit
接下來安裝forever:

sudo npm install -g forever複製程式碼

然後執行:
NODE_ENV=production forever start index.js
接下來看一下forever是否掛在了index.js:
forever list
這個狀態的話,你就可以開始你的Ghost之路了!

結束程式命令:

forever index.js複製程式碼

覺得我分享的文章對你有幫助或者對內容有什麼異議,請聯絡微信公眾號:範小二

相關文章