本文主要介紹如何利用NodeJS和Ghost框架搭建自己的博客網(wǎng)站,網(wǎng)站部署在阿里云服務(wù)器上。另外還會說明網(wǎng)站備案的一些流程。這篇文章也是本人在搭建個人站點時的一些總結(jié)。
關(guān)鍵字:Ghost,NodeJS,Nginx
運行環(huán)境
由于Ghost框架需要NodeJS支持,而目前大部分建站的虛擬主機并不支持NodeJS,再加上本人是做開發(fā)的,對運行環(huán)境的要求不僅限于運行網(wǎng)站,需要的是一個通用的環(huán)境,所以選擇的是阿里云的ECS主機。至于配置,選擇的是1G內(nèi)存,1M帶寬,40G硬盤,這個配置用來做個人網(wǎng)站應(yīng)該夠用了。如果將來訪問量大了還可以升級主機配置或者將靜態(tài)的內(nèi)容遷移到云存儲服務(wù)上來分流。操作系統(tǒng)選擇的是CentOS7,所以后面的操作都是基于這個系統(tǒng)的。
安裝依賴
NodeJS
筆者是用nvm來安裝的,這樣可以切換不同的node版本。
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
由于Ghost對nodejs的版本有要求,我安裝的是4.2.6版的
nvm install v4.2.6
nvm use v4.2.6
在利用npm安裝node依賴包時可能會出現(xiàn)無法下載的情況,故我使用的是淘寶 NPM 鏡像:
npm install -g cnpm --registry=https://registry.npm.taobao.org
Nginx
網(wǎng)站使用Nginx做反向代理,這樣比較安全,而且有更好的配置彈性。
yum install nginx
修改配置/etc/nginx/nginx.conf
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
server {
listen 80;
server_name _;
location / {
proxy_pass http://127.0.0.1:2368;
}
}
啟動服務(wù),并設(shè)置開機自啟動
systemctl start nginx
systemctl enable nginx
pm2
利用pm2使ghost常駐后臺執(zhí)行。
cnpm install pm2 -g
安裝Ghost
這里要先介紹一下中文Ghost,這個是Ghost的漢化版本,里面還整合了一些好用的功能,但版本較官方低。筆者使用的是官方的版本,可以去這個頁面下載。
進(jìn)入解壓后的目錄,安裝依賴包,執(zhí)行:
cnpm install --production
修改配置
cp config.example.js config.js
config.js:
production: {
url: 'http://YOUR-URL',
mail: {},
database: {
client: 'sqlite3',
connection: {
filename: path.join(__dirname, '/content/data/ghost.db')
},
debug: false
},
server: {
host: '127.0.0.1',
port: '2368'
}
},
使ghost常駐后臺執(zhí)行
NODE_ENV=production pm2 start index.js --name "ghost"
以后可以通過下面的命令來控制ghost運行:
pm2 start ghost
pm2 stop ghost
pm2 restart ghost
此時如果你已經(jīng)配置好了你的域名解析,打開瀏覽器,輸入http://YOUR-URL
,應(yīng)該能看到Ghost的啟始頁面。
網(wǎng)站備案
使用非大陸主機的可以無視該部分。
筆者的ICP備案是在阿里云上申請的,申請初次提交后,阿里云的客服會給你打電話確認(rèn)一些東西,這里需要注意的是你留的座機號碼客服會確認(rèn)的,不要留假號碼。申請通過后需要郵寄幕布拍照,還要把一式三份的申請單打印出來郵寄給他們,這些在申請流程中都會給你提示的,注意看就好了。阿里通過你的備案申請后會把信息提交給管局,這時候你只要耐心等待,我是在10天后收到備案通過的短信。總之備案的部分只要你按照要求做,會順利搞定的。