在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ HTML/ 番外篇之——部署到 Heroku
第9章 增加標(biāo)簽和標(biāo)簽頁面
番外篇之——使用 Mongoose
番外篇之——使用 Async
第4章 實(shí)現(xiàn)用戶頁面和文章頁面
第12章 增加友情鏈接
第14章 增加頭像
第7章 實(shí)現(xiàn)分頁功能
第5章 增加編輯與刪除功能
第11章 增加文章檢索功能
第3章 增加文件上傳功能
番外篇之——部署到 Heroku
第2章 使用 Markdown
第13章 增加404頁面
第16章 增加日志功能
第1章 一個(gè)簡單的博客
番外篇之——使用 Handlebars
第10章 增加pv統(tǒng)計(jì)和留言統(tǒng)計(jì)
番外篇之——使用 Passport
第15章 增加轉(zhuǎn)載功能和轉(zhuǎn)載統(tǒng)計(jì)
第8章 增加存檔頁面
番外篇之——使用 generic pool
番外篇之——使用 _id 查詢
番外篇之——使用 Disqus
番外篇之——使用 KindEditor
第6章 實(shí)現(xiàn)留言功能

番外篇之——部署到 Heroku

使用 MongoHQ

在把我們的博客部署到 Heroku 之前,我們首先學(xué)習(xí)下如何使用 MongoHQ 。MongoHQ 是一個(gè)提供 MongoDB 存儲(chǔ)服務(wù)的云平臺(tái),使用起來非常簡單,提供了在線查詢和修改數(shù)據(jù)庫的功能。MongoHQ 的免費(fèi)套餐提供了 512MB 的存儲(chǔ)空間。

注冊(cè)

https://bridge.mongohq.com/signup

創(chuàng)建一個(gè)數(shù)據(jù)庫

注冊(cè)后,選擇一個(gè) Free 的數(shù)據(jù)庫類型,并給數(shù)據(jù)庫起一個(gè)名字,點(diǎn)擊 Create Database 創(chuàng)建數(shù)據(jù)庫。此時(shí)跳轉(zhuǎn)到如下界面:

http://wiki.jikexueyuan.com/project/express-mongodb-setup-blog/images/8.1.jpg" alt="" />

如圖所示,我們可以在命令行中連接遠(yuǎn)程數(shù)據(jù)庫,也可以通過 Mongo URL 使用數(shù)據(jù)庫。接下來,我們修改博客的代碼,使用 MongoHQ 提供的云端數(shù)據(jù)庫取代使用本地?cái)?shù)據(jù)庫。

首先,我們需要給數(shù)據(jù)庫添加一個(gè)用戶。點(diǎn)擊左側(cè)的 Admin ,然后點(diǎn)擊 Users 進(jìn)入用戶管理頁面。在 username 和 password 處分別填寫用戶名和密碼:

db.addUser('username','password')

點(diǎn)擊 Add user 添加用戶。

修改 settings.js 為:

module.exports = { 
  cookieSecret: 'myblog', 
  url: 'your_Mongo_URI'
};

將 your_Mongo_URI 替換為你自己創(chuàng)建的數(shù)據(jù)庫的 URL ,將 分別替換為剛才添加的用戶的名字和密碼。

打開 app.js ,將 app.use(express.session(...)); 修改為:

app.use(express.session({
  secret: settings.cookieSecret,
  cookie: {maxAge: 1000 * 60 * 60 * 24 * 30},//30 days
  url: settings.url
}));

刪除 db.js ,打開 post.js 、 user.js 和 comment.js ,均作以下修改:

  • 將 mongodb = require('./db') 修改為 mongodb = require('mongodb').Db
  • 添加 var settings = require('../settings');
  • 將所有 mongodb.open(function (err, db) { 修改為 mongodb.connect(settings.url, function (err, db) {
  • 將所有 mongodb.close(); 修改為 db.close(); 現(xiàn)在,無需啟動(dòng)你的本地?cái)?shù)據(jù)庫,運(yùn)行你的博客試試吧~

注意:Heroku 也提供了 MongoHQ 的 Add-ons ,但需要填寫信用卡信息,所以我們這里直接使用外鏈的 MongoHQ 。

部署到 Heroku

Heroku 是一個(gè)主流的 PaaS 提供商,在開發(fā)人員中廣受歡迎。這個(gè)服務(wù)圍繞著基于 Git 的工作流設(shè)計(jì),假如你熟悉 Git ,那部署就十分簡單。這個(gè)服務(wù)原本是為托管 Ruby 應(yīng)用程序而設(shè)計(jì)的,但 Heroku 之后加入了對(duì) Node.js 、Clojure 、Scala 、Python 和 Java 等語言的支持。Heroku 的基礎(chǔ)服務(wù)是免費(fèi)的。

下面我們使用 Heroku 部署我們的博客。

注冊(cè)

https://www.heroku.com/

創(chuàng)建一個(gè)應(yīng)用

注冊(cè)成功后,就進(jìn)入了控制面板頁面,如圖所示:

http://wiki.jikexueyuan.com/project/express-mongodb-setup-blog/images/8.2.jpg" alt="" />

點(diǎn)擊 Create a new app ,填寫?yīng)氁粺o二的應(yīng)用名稱后,點(diǎn)擊 creat app 即創(chuàng)建成功,然后點(diǎn)擊 Finish up 。

此時(shí)跳轉(zhuǎn)到控制面板頁,并且可以看到我們創(chuàng)建的應(yīng)用了。我們通過 應(yīng)用名稱.herokuapp.com 即可訪問我們的應(yīng)用主頁。如圖所示:

http://wiki.jikexueyuan.com/project/express-mongodb-setup-blog/images/8.3.jpg" alt="" />

安裝 Heroku Toolbelt

Heroku 官方提供了 Heroku Toolbelt 工具更方便地部署和管理應(yīng)用。它包含三個(gè)部分:

  • Heroku client :創(chuàng)建和管理 Heroku 應(yīng)用的命令行工具
  • Foreman :一個(gè)在本地運(yùn)行你的 app 的不錯(cuò)的選擇
  • Git :分布式版本控制工具,用來把應(yīng)用推送到 Heroku Heroku Toolbelt 下載地址:https://toolbelt.heroku.com/

注意:假如你的電腦上已經(jīng)安裝了 Git ,那么在安裝的時(shí)候選擇 Custom Installation 并去掉安裝 Git 的選項(xiàng),否則選擇 Full Installation 。

安裝成功后,打開 Git Bash ,輸入 heroku login ,然后輸入在 Heroku 注冊(cè)的帳號(hào)和密碼進(jìn)行登錄。Git 會(huì)檢測是否有 SSH 密鑰,如果有,則使用此密鑰并上傳,如果沒有,則創(chuàng)建一個(gè)密鑰并上傳。

Tips:SSH 密鑰通常用于授予用戶訪問服務(wù)器的權(quán)限??蓪⑺鼈冇糜谀承┡渲弥?,以便無需密碼即可訪問服務(wù)器。許多 PaaS 提供商都使用了此功能。

Procfile

在工程的根目錄下新建一個(gè) Procfile 文件,添加如下內(nèi)容:

web: node app.js

Procfile 文件告訴了服務(wù)器該使用什么命令啟動(dòng)一個(gè) web 服務(wù),這里我們通過 node app.js 執(zhí)行 Node 腳本。為什么這里聲明了一個(gè) web 類型呢?官方解釋為:

The name “web” is important here. It declares that this process type will be attached to the HTTP routing stack of Heroku, and receive web traffic when deployed.

上傳應(yīng)用

打開 Git Bash ,輸入:

$ git init
$ git add .
$ git commit -m "init"
$ git remote add heroku git@heroku.com:yourAppName.git

注意:將 yourAppName 修改為你自己的應(yīng)用名。

在 push 到 heroku 服務(wù)器之前,我們還需要做一個(gè)工作。由于我國某些政策的原因,我們需到 ~/.ssh/ 目錄下,新建一個(gè) config 文件,內(nèi)容如下:

Host heroku.com
User yourName
Hostname 107.21.95.3
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
port 22

然后回到 Git Bash ,輸入:

$ git push heroku master

稍等片刻即上傳成功。現(xiàn)在你就可以訪問 http://yourAppName.herokuapp.com/ 了,如圖所示:

http://wiki.jikexueyuan.com/project/express-mongodb-setup-blog/images/8.4.jpg" alt="" />

注意:假如出現(xiàn)了 Application Error,可能是沒有啟動(dòng)應(yīng)用,到應(yīng)用面板頁勾選 web node app.js ,然后點(diǎn)擊 Apply Changes 啟動(dòng)應(yīng)用。