Dotcloud PasS 的小試用筆記


事緣:
Dotcloud Beta 時就已經申請了,只可惜一直沒時間嘗試
今天回過頭來才發現原來有支持 Node.js
所以決定將昨天所寫的 Simple Todo 放上去了進行測試
先記錄一下筆記

注釋:

  • 這裡的 Project 叫 node-simple-todo
  • 這裡用的 Services 是 node.js

安裝:

  1. cd ~/Venv && virtualenv –no-site-package dotcloud
  2. source dotcloud/bin/activate
  3. 指令行前方應該會多了 (dotcloud) 才算是成功
  4. pip install dotcloud
  5. dotcloud

– (初次使用這指令時會提示輸入 API Key,可從 https://www.dotcloud.com/accounts/settings 取得)

準備:

  1. 先在桌面建立一個 dotcloud 的目錄
  2. 之後再將 Project 複制一份放進 dotcloud 目錄裡
  3. 之後在 dotcloud 目的中建立 dotcloud.yml 檔案,內容如:
    1
    2
    3
    www:
    type: nodejs
    approot: node-simple-todo
  4. 再來就是於 Project 目錄裡建立 supervisord.conf 檔案,內容如:
    1
    2
    3
    [program:node]
    command = node app.js
    directory = /home/dotcloud/current
  5. 先切換到原來的 Project 目錄,輸入指令:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    npm list

    # 以我的 Project 為列.輸出
    [email protected] /Applications/XAMPP/xamppfiles/htdocs/node-simple-todo
    ├─┬ [email protected] extraneous
    │ └─┬ [email protected]
    │ └── [email protected]
    ├── [email protected]
    ├─┬ [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ └── [email protected]
    ├── [email protected] extraneous
    └── [email protected] extraneous
  6. 之後換回 dotcloud 目錄裡對應的 Project 目錄,並打開 package.json,修改為:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    {
    "name": "node-simple-todo",
    "version": "0.0.1",
    "dependencies": {
    "date-utils": "1.2.0",
    "ejs": "0.4.3",
    "express": "2.4.3",
    "express-csrf": "0.3.3",
    "sqlite3": "2.0.14"
    }
    }

部署:

  1. 回到 dotcloud 的根目錄
  2. 再來建立 namespace
    1
    dotcloud create nodesimpletodo
  3. 接著再輸入以下指令部署/提交到 dotcloud.com 裡
    1
    dotcloud push nodesimpletodo

問題:

  1. 於 dotcloud 裡部署 node.js 應用,程式需要監聽 8080 端口(Port)
  2. 查看目前已建立的 applications 可用以下指令
    1
    dotcloud list
  3. 如果部署時出現網址後,發現 502 bad gateway 錯誤,可以查看 Log 情況
    1
    dotcloud logs nodesimpletodo.www