2012年6月23日

Nodejitsu 筆記 - 註冊、佈署、自訂域名

Nodejitsu - PaaS for Node.js clouds
Nodejitsu 是 Node.js 的 PaaS 服務,目前還在 Beta 階段, 但是對於有興趣使用 Node.js 開發網站的朋友,現在已經可以申請帳號,用力給它試玩一下。

Nodejitsu 註冊帳號從「Try Nodejitsu for free」開始,必須先填 username 及 email。


接著會收到一封通知信:[nodejitsu] Signup Confirmation!

|Please visit http://activate.nodejitsu.com to activate your account.


這封信是用來確認電子郵件。打開 Activate 的連結網頁,需要再輸入一次 username。

這步驟是啟用新帳號,啟用成功之後(每日限額)會收到第二封信:[nodejitsu] Welcome to Nodejitsu!

到這邊基本上註冊就已經算是成功。

在通知信裡面最重要的是一段確認碼,以及操作步驟。Nodejitsu 的操作很有趣,在帳號啟用後就不需要透過網站,而是利用「jitsu」這個提供 command-line 工具的 Module。
  1. sudo npm install jitsu -g
    安裝 jitsu 工具
  2. jitsu users confirm lyhcode 確認碼
    確認新帳號
  3. jitsu deploy
    佈署新專案
對於完全以 Node.js 打造專案的開發者來說,可能會偏好 NPM 能搞定的解決方案。Nodejitsu 提供的 jitsu 正好可以滿足這種需求。以它牌如 Cloud Foundry 來說,就必須另外用 RubyGems 安裝 vmc 工具,需要多裝一個 Ruby 開發環境。


Nodejitsu 最低的方案是「免費」,讓開發者可以在零負擔的條件下輕鬆開啟一項新專案。如果專案正式上線開始需要付費,目前公告的 Pricing 看起來也相當划算,對於小型網站來說,每個月只要支付 $3 美金起。


個人方案
企業方案
Nodejitsu 支援 WebSocket,對於想使用 Socket.IO 的開發者來說比較方便;如果使用 *.nodejitsu.com 子網域還可以享有免費的 SSL 支援,對於需要處理圖檔的應用,它也提供 ImageMagick 的支援。企業方案比個人方案多出一些進階功能,包括 HA、依用量增加自動延展(auto-scaling)。


個人方案
  • WebSocket support
  • Administrative Interface
  • Custom Domains
  • Jitsu
  • Snapshots
  • CoffeeScript, ImageMagick, and libxml support
  • Easy Database provisioning with Jitsu
  • Free SSL on *.nodejitsu.com
企業方案(包含個人方案的基本功能)
  • Priority Support
  • Auto-scaling
  • Select your provider
  • Consolidated Billing
  • High availability across providers
  • Select main provider / data centers per drone
  • Custom SSL certificates
Nodejitsu 的設定直接使用 package.json,因此可以和 NPM 模組相依等設定一起管理。如果要切換不同的 node 版本,也是在這邊設定,以下是準備佈署到 Nodejitsu 的 package.json 設定範例。

{
  "name": "nodejs-weekly",
  "version": "0.0.1-1",
  "private": true,
  "dependencies": {
    "express": "2.5.5",
    "jade": ">= 0.0.1"
  },
  "subdomain": "nodejsweekly",
  "scripts": {
    "start": "app.js"
  },
  "engines": {
    "node": "0.6.x"
  }
}

在 Port Listen 的部份,許多 PaaS 如 Windows Azure、Cloud Foundry 會以環境變數傳遞連接埠號碼,以 Express 來說需要用 .listen(process.env.port) 取代 .listen(3000),佈署到 PaaS 才會取得可用的連接埠。不過 Nodejitsu 這部份並不需要特別設定,專案中可以使用直接指定 Port(如 80 或 8080),佈署到 Nodejitsu 都可以正確對應到網域的 80 Port。

佈署成功後,在 Nodejitsu 提供的 Web 後台「develop.nodejitsu.com/」可以管理 apps。之後發佈更新也只需要執行「jitsu deploy」,就會重新 deploy 及 restart。



Nodejitsu 支援自訂網域名稱,對於正式上線的網站來說這就很重要了。同樣也是在 package.json 定義(可設定多組)。

"domains": [
    "jesusabdullah.net",
    "www.jesusabdullah.net"
  ],

關於自訂域名,也可以參考官方文件:http://dns.nodejitsu.com/

沒有留言:

張貼留言

lyhcode by lyhcode
歡迎轉載,請務必註明出處!