今天要介紹一個不錯的,Node.js Hosting 的服務,名為 Nodejitsu。這個 Repository 好用的地方是設定簡單,支援的 Module 也不少,對於 iOS Developer 來說,最重要的 Server 服務之一就是 APNS 了,筆者測試過,是可以成功執行沒有擋掉 APNS 需要的 Port。
好那我們就登入 Nodejitsu 的首面看到下面的頁面,Try Nodejitsu for free.
接下來會有幾個步驟需要填寫,如下,填寫 useranme 只允許字母數字和-
填寫你想要建立的 Node.j 服務的類型和任何其他在使用的技術,也可以不寫。
好了之後應該會在 mail 收到 Nodejitsu 寄來的信,類似下方。
信用還提到第一次啟用帳號要做的事情如下
在終端機執行下列指令,
- sudo npm install jitsu -g
- jitsu users confirm <帳號> <認證碼>
設定完之後,再輸入一次,就啟用完成,如下
接下我們就要放一個簡單的 web server 到 Nodejitsu 上面去。
先用 mkdir ( make directory ) 在任一目錄下建立一個新的目錄如下
mkdir myJitsu然後進入用 cd myJitsu 如下
我們新增 Node.js 學習資源這篇提到的 hello.js ,到這個資料夾下,也取名為 hello.js
然後執行佈署的指令,如下var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World\n'); }).listen(8000);
jitsu deploy接著會看到 jitsu 和 Server 溝通,會再問一些問題,第一個是 App Name: 在其後有一個 (myJitsu) 的意思是,如果不寫,就用這個名字,我們來改一下,用 MyJitsu
再來是 subdomain 的名稱,這個不改也 ok
接下來比較重要,是一開始要執行的 script,也就是 hello.js,如下設定
再來設定版本,我們設定為 0.0.1,如下
最後是需要的 Node.js 版本,這個例子為 0.8.x
完成後,會提醒我們做確認的動作,並把剛剛的設定都寫入一個 package.json 的檔案中,
寫 yes 之後,就會看到這樣的裝態,就是完成了
http://incensome.myjitsu.jit.su/就會看到如下
然後我們回到 http://nodejitsu.com/ 來看一下剛剛佈署到 Nodejitsu 的服務,如下,按右上的 Login。
輸入帳號密碼之後,就會看到如下
一個上線的服務完成了,重點是右邊視窗有一個 Log 的 Tab,點選後如下
這裡可以看到在程式中 console.log 的結果,雖然目前我們並沒有用到 console.log。
接下來我們要來看一下這個檔案 package.json
{這個檔案描述這個 Node.js 服務的設定,這個例子只用到 http 的 module,如果用到其他的,不是包在 Node.js 核心的東西,比如這篇提到的 Express,就會看到如下的 package.json
"name": "MyJitsu",
"subdomain": "incensome.myJitsu",
"scripts": {
"start": "hello.js"
},
"version": "0.0.1",
"engines": {
"node": "0.8.x"
}
}
{jitsu 會自行去看 *.js 檔然後把 dependencies 加到 package.json 上,在上面的例子是寫,
"name": "TeachRepo",
"subdomain": "incensome.teachrepo",
"scripts": {
"start": "web.js"
},
"version": "0.0.1-3",
"engines": {
"node": "0.8.x"
},
"dependencies": {
"express": "*"
}
}
"dependencies": {代表會用到 express 而不拘版本,(其實,3.0 和 2.0 有差別,有注意一下)。
"express": "*"
}
那如果 hello.js 有更新怎麼辦?在同一個目錄下,用 jitsu deploy 就可以了,jitsu 會自動把版號加上-1,比如原本是 0.0.1 會變成 0.0.1-1。
最後我們來討論一下,Nodejitsu 這個服務,付費的時候怎麼計算?
從這個網頁我們可以看到,個人,或是小型公司來說 一個 drone 一個月只要 $3 美金,是相當便宜。如下是Individual Plan
那什麼是 Drone 呢?在這 FAQ 有提到,就是指處理 App 的能力,當然它有提到通常一個 App 就只會需要一個 drone,同理可推是一個 App。同時平行處理的話也許會需要比較多 drone, 不過 Node.js 本身就是 None-blocking,比較不需要自行再產生 Thread 之類的,但真正計算的方法,也只能靠經驗法則了。
那試用版的可以用多久呢? FAQ 有提到,現在是 3 個月,過期怎麼辦?再申請一個 e-mail 就好了 orz..
好,那咱們就下次見。
沒有留言:
張貼留言