2012年6月23日 星期六

在 Ubuntu 12.04 啟動 Nodester 雲端平台 Node.js App service

Nodester 是一個免費的 Node.js 雲端平台. 你所開發出來的 node App 可以放在這裡提供他人使用. 使用前先到 Nodester.com 登記你的 email 後會在兩天左右收到 coupon
收到此一 coupon 之string 後回到 www.nodester.com/help 登錄:
coupon:
username:
password:
email:
RSA key: (cat ~/.ssh/id_rsa.pub 後將內容copy and past)

Note: 產生 rsa key 之方法: (假設home directory name: "ejeng")
~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ejeng/.ssh/id_rsa):
Created directory '/home/ejeng/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ ejeng /.ssh/id_rsa.
Your public key has been saved in /home/ejeng/.ssh/id_rsa.pub.
The key fingerprint is:
2b:21:c4:e0:8a:dd:5e:1a:cb:5a:08:88:fa:75:73:10 ejeng@ubuntu
The key's randomart image is:
+--[ RSA 2048]----+
|  .              |
| . o             |
|  . o E          |
|+o o   .         |
|* . + + S        |
|.. + * o .       |
|. . B + o        |
| . + . +         |
|  o              |
+-----------------+

開始安裝 Nodester 和 git 版本控管軟體:
~/nodejs$ sudo apt-get install git-core
~/nodejs$ npm install nodester-cli -g
~/nodejs$ nodester user setup myname mypasswd
nodester info verifying credentials
nodester info user verified..
nodester info writing user data to config

~/nodejs$ nodester user setkey
nodester info sending sshkey: /home/ejeng/.ssh/id_rsa.pub
nodester info ssh key successfully sent

開始產生專案 (假設專案名稱為 myAppName):
~/nodejs$ nodester app create myAppName
nodester info creating app: myAppName server.js
nodester info successfully created app  myAppName  to will run on port 18931 from server.js
nodester info run nodester app init  myAppName  to setup this app.

~/nodejs$ nodester app init myAppName 
nodester info initializing git repo for  myAppName  into folder myAppName 
nodester info cloning the repo git clone git@nodester.com:/node/git/myname/10778-d6b8f786e8e3a04d8f82ff143c927136.git myAppName 
The authenticity of host 'nodester.com (50.16.203.53)' can't be established.
RSA key fingerprint is a1:64:54:7c:9b:73:9f:22:a8:95:44:4f:7b:25:15:68.
Are you sure you want to continue connecting (yes/no)? yes
nodester info clone complete
nodester info Writing app data to config in myAppName/.nodester.appconfig
nodester info writing app files
nodester info writing the package.json file
nodester info processing the initial commit
nodester info myAppName started.
nodester info Some helpful app commands:

     cd ./myAppName 
     curl http:// myAppName.nodester.com/
      nodester app info
      nodester app logs
      nodester app stop|start|restart


在一browser中打開 http://myAppName.nodester.com 即可看到server.js 所要呈現之內容

修改內容: 例: server.js 改顯示文字內容後
~/nodejs$ cd myAppName
~/nodejs/myAppName$ vi server.js      (修改檔案內容)
~/nodejs/myAppName$ git commit -am "change string"
      (將改過之檔案更新到git)
~/nodejs/myAppName$ git push
  (將 local repo 更新到myAppName.nodester.com)

專案後續修改完善過程中增加的檔案和目錄
~/nodejs/myAppName$ git add file1.js file2.js file3.js
~/nodejs/myAppName$ git add folder1/\*.png

~/nodejs/myAppName$ git add . (另外: 單獨用這行會將所有新增與修改之檔案自動加入)
~/nodejs/myAppName$ git commit -am "new files added"
~/nodejs/myAppName$ git push (系統會重新起動App)

在Nodester.com 之專案中安裝需要用到的 node.js 其他 modules
~/nodejs/myAppName$ nodester npm install express
~/nodejs/myAppName$ nodester npm install request
~/nodejs/myAppName$ nodester npm install now
~/nodejs/myAppName$ ..... (some error)
 Note: 發現是 now.js 所需的 node-proxy@0.6.0 無法安裝
       嘗試先安裝 node-proxy@0.5.1 成功後再安裝 now.js即可
~/nodejs/myAppName$ nodester npm install node-proxy@0.5.1
~/nodejs/myAppName$ nodester app restart myAppName (重新啟動服務)


在 Ubuntu 12.04 中安裝 Node.js

在安裝完 Ubuntu 12.04 後, 打開 terminal 後輸入以下命令即可:


sudo apt-get install python-software-properties
sudo apt-add-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm

完成後安裝 module:
npm install express
npm install now

.... error: g++ command not found // 找不到 g++, 另外安裝如下
sudo apt-get install g++

npm install now
npm install request