一、什麼是nodejitsu
簡而言之,nodejitsu是將node服務部署到網上的一種服務器,
部署的服務可以以*.jit.su的域名來訪問,*爲自定義段
二、如何部署nodejitsu
1、我們必須先安裝好node,這點不再贅述,不清楚的可以去了解《Node入門》。
2、下載jitsu相關模塊,在node根目錄下輸入npm install jitsu -g
- C:\Program Files\nodejs>npm install jitsu -g
- npm http GET https://registry.npmjs.org/jitsu
- npm http 304 https://registry.npmjs.org/jitsu
- npm http GET https://registry.npmjs.org/complete/0.3.1
- npm http GET https://registry.npmjs.org/fstream/0.1.18
- npm http GET https://registry.npmjs.org/flatiron-cli-config/0.1.3
- npm http GET https://registry.npmjs.org/nodejitsu-api/0.3.2
- npm http GET https://registry.npmjs.org/flatiron-cli-users/0.1.1
- npm http GET https://registry.npmjs.org/dateformat/1.0.2-1.2.3
- npm http GET https://registry.npmjs.org/fstream-npm/0.1.1
- npm http GET https://registry.npmjs.org/npm/1.1.59
- npm http GET https://registry.npmjs.org/pkginfo/0.2.3
- npm http GET https://registry.npmjs.org/flatiron/0.2.8
- npm http GET https://registry.npmjs.org/request/2.11.0
- npm http GET https://registry.npmjs.org/semver/1.0.14
- npm http GET https://registry.npmjs.org/require-analyzer/0.4.0-3
- npm http GET https://registry.npmjs.org/tar/0.1.13
- npm http GET https://registry.npmjs.org/spawn-command/0.0.1
- npm http GET https://registry.npmjs.org/wizard/0.0.1
- npm http GET https://registry.npmjs.org/colors/0.6.0-1
- npm http 304 https://registry.npmjs.org/flatiron-cli-users/0.1.1
- npm http 304 https://registry.npmjs.org/flatiron-cli-config/0.1.3
- npm http 304 https://registry.npmjs.org/nodejitsu-api/0.3.2
- npm http 304 https://registry.npmjs.org/fstream/0.1.18
- npm http 304 https://registry.npmjs.org/complete/0.3.1
- npm http 304 https://registry.npmjs.org/fstream-npm/0.1.1
- npm http 304 https://registry.npmjs.org/npm/1.1.59
- npm http 304 https://registry.npmjs.org/pkginfo/0.2.3
- npm http 304 https://registry.npmjs.org/flatiron/0.2.8
- npm http 304 https://registry.npmjs.org/request/2.11.0
- npm http 304 https://registry.npmjs.org/semver/1.0.14
- npm http 304 https://registry.npmjs.org/require-analyzer/0.4.0-3
- npm http 304 https://registry.npmjs.org/tar/0.1.13
- npm http 304 https://registry.npmjs.org/spawn-command/0.0.1
- npm http 304 https://registry.npmjs.org/dateformat/1.0.2-1.2.3
- npm http 304 https://registry.npmjs.org/wizard/0.0.1
- npm http 304 https://registry.npmjs.org/colors/0.6.0-1
- npm http GET https://registry.npmjs.org/fstream-ignore
- npm http GET https://registry.npmjs.org/inherits
- npm http GET https://registry.npmjs.org/prompt
- npm http GET https://registry.npmjs.org/inherits
- npm http GET https://registry.npmjs.org/mkdirp
- npm http GET https://registry.npmjs.org/rimraf
- npm http GET https://registry.npmjs.org/graceful-fs
- npm http GET https://registry.npmjs.org/request
- npm http GET https://registry.npmjs.org/inherits
- npm http GET https://registry.npmjs.org/block-stream
- npm http GET https://registry.npmjs.org/findit
- npm http GET https://registry.npmjs.org/optimist/0.3.4
- npm http GET https://registry.npmjs.org/broadway/0.2.5
- npm http GET https://registry.npmjs.org/prompt/0.2.6
- npm http GET https://registry.npmjs.org/npm/1.1.4
- npm http GET https://registry.npmjs.org/detective
- npm http GET https://registry.npmjs.org/winston
- npm http GET https://registry.npmjs.org/eyes
- npm http GET https://registry.npmjs.org/director/1.1.0
- npm http GET https://registry.npmjs.org/optimist
- npm http 304 https://registry.npmjs.org/fstream-ignore
- npm http 304 https://registry.npmjs.org/prompt
- npm http GET https://registry.npmjs.org/winston
- npm http GET https://registry.npmjs.org/revalidator
- npm http GET https://registry.npmjs.org/read
- npm http GET https://registry.npmjs.org/utile
- npm http 304 https://registry.npmjs.org/rimraf
- npm http 304 https://registry.npmjs.org/graceful-fs
- npm http 304 https://registry.npmjs.org/inherits
- npm http GET https://registry.npmjs.org/minimatch
- npm http 304 https://registry.npmjs.org/request
- npm http 304 https://registry.npmjs.org/inherits
- npm http 304 https://registry.npmjs.org/inherits
- npm http 304 https://registry.npmjs.org/block-stream
- npm http 304 https://registry.npmjs.org/findit
- npm http 304 https://registry.npmjs.org/optimist/0.3.4
- npm http 304 https://registry.npmjs.org/broadway/0.2.5
- npm http 304 https://registry.npmjs.org/prompt/0.2.6
- npm http 304 https://registry.npmjs.org/npm/1.1.4
- npm http 304 https://registry.npmjs.org/detective
- npm http 304 https://registry.npmjs.org/winston
- npm http 304 https://registry.npmjs.org/director/1.1.0
- npm http 304 https://registry.npmjs.org/optimist
- npm http 304 https://registry.npmjs.org/eyes
- npm http 304 https://registry.npmjs.org/winston
- npm http 304 https://registry.npmjs.org/revalidator
- npm http 304 https://registry.npmjs.org/read
- npm http 304 https://registry.npmjs.org/utile
- npm http 304 https://registry.npmjs.org/minimatch
- npm http GET https://registry.npmjs.org/burrito
- npm http GET https://registry.npmjs.org/seq
- npm http GET https://registry.npmjs.org/mute-stream
- npm http GET https://registry.npmjs.org/wordwrap
- npm http GET https://registry.npmjs.org/wordwrap
- npm http 304 https://registry.npmjs.org/mkdirp
- npm http GET https://registry.npmjs.org/lru-cache
- npm http GET https://registry.npmjs.org/winston
- npm http GET https://registry.npmjs.org/revalidator
- npm http GET https://registry.npmjs.org/read
- npm http GET https://registry.npmjs.org/utile
- npm http GET https://registry.npmjs.org/mkdirp
- npm http GET https://registry.npmjs.org/rimraf
- npm http GET https://registry.npmjs.org/deep-equal
- npm http GET https://registry.npmjs.org/ncp
- npm http GET https://registry.npmjs.org/i
- npm http 304 https://registry.npmjs.org/wordwrap
- npm http GET https://registry.npmjs.org/async
- npm http GET https://registry.npmjs.org/winston/0.6.2
- npm http GET https://registry.npmjs.org/cliff/0.1.8
- npm http GET https://registry.npmjs.org/nconf/0.6.4
- npm http GET https://registry.npmjs.org/utile/0.1.2
- npm http GET https://registry.npmjs.org/eventemitter2/0.4.9
- npm http 304 https://registry.npmjs.org/lru-cache
- npm http 304 https://registry.npmjs.org/winston
- npm http 304 https://registry.npmjs.org/revalidator
- npm http GET https://registry.npmjs.org/eyes
- npm http GET https://registry.npmjs.org/request
- npm http GET https://registry.npmjs.org/stack-trace
- npm http GET https://registry.npmjs.org/cycle
- npm http 304 https://registry.npmjs.org/read
- npm http GET https://registry.npmjs.org/loggly
- npm http 304 https://registry.npmjs.org/utile
- npm http 304 https://registry.npmjs.org/mute-stream
- npm http 304 https://registry.npmjs.org/wordwrap
- npm http 304 https://registry.npmjs.org/mkdirp
- npm http 304 https://registry.npmjs.org/seq
- npm http 304 https://registry.npmjs.org/rimraf
- npm http 304 https://registry.npmjs.org/deep-equal
- npm http 304 https://registry.npmjs.org/ncp
- npm http GET https://registry.npmjs.org/hashish
- npm http 304 https://registry.npmjs.org/async
- npm http 304 https://registry.npmjs.org/burrito
- npm http 304 https://registry.npmjs.org/winston/0.6.2
- npm http GET https://registry.npmjs.org/chainsaw
- npm http 304 https://registry.npmjs.org/cliff/0.1.8
- npm http 304 https://registry.npmjs.org/nconf/0.6.4
- npm http GET https://registry.npmjs.org/mute-stream
- npm http 304 https://registry.npmjs.org/eventemitter2/0.4.9
- npm http 304 https://registry.npmjs.org/eyes
- npm http GET https://registry.npmjs.org/deep-equal
- npm http GET https://registry.npmjs.org/mkdirp
- npm http GET https://registry.npmjs.org/async
- npm http GET https://registry.npmjs.org/ncp
- npm http GET https://registry.npmjs.org/rimraf
- npm http 304 https://registry.npmjs.org/request
- npm http GET https://registry.npmjs.org/uglify-js
- npm http 304 https://registry.npmjs.org/stack-trace
- npm http GET https://registry.npmjs.org/traverse
- npm http 304 https://registry.npmjs.org/cycle
- npm http GET https://registry.npmjs.org/eyes
- npm http GET https://registry.npmjs.org/request
- npm WARN package.json [email protected] No README.md file found!
- npm http 304 https://registry.npmjs.org/hashish
- npm http 304 https://registry.npmjs.org/chainsaw
- npm http 304 https://registry.npmjs.org/mute-stream
- npm http 304 https://registry.npmjs.org/utile/0.1.2
- npm http 304 https://registry.npmjs.org/deep-equal
- npm http 304 https://registry.npmjs.org/i
- npm http GET https://registry.npmjs.org/traverse
- npm http GET https://registry.npmjs.org/traverse
- npm http 304 https://registry.npmjs.org/mkdirp
- npm http 304 https://registry.npmjs.org/async
- npm http 304 https://registry.npmjs.org/rimraf
- npm http 304 https://registry.npmjs.org/ncp
- npm http 304 https://registry.npmjs.org/eyes
- npm http 304 https://registry.npmjs.org/uglify-js
- npm http 304 https://registry.npmjs.org/traverse
- npm http 304 https://registry.npmjs.org/request
- npm http 304 https://registry.npmjs.org/traverse
- npm http 304 https://registry.npmjs.org/loggly
- npm http 304 https://registry.npmjs.org/traverse
- npm http GET https://registry.npmjs.org/async
- npm http GET https://registry.npmjs.org/i
- npm http GET https://registry.npmjs.org/mkdirp
- npm http GET https://registry.npmjs.org/deep-equal
- npm http GET https://registry.npmjs.org/ncp
- npm http GET https://registry.npmjs.org/rimraf
- npm http GET https://registry.npmjs.org/eyes
- npm http GET https://registry.npmjs.org/request
- npm http GET https://registry.npmjs.org/timespan
- npm http GET https://registry.npmjs.org/cycle
- npm http GET https://registry.npmjs.org/stack-trace
- npm http GET https://registry.npmjs.org/ini
- npm http 304 https://registry.npmjs.org/ncp
- npm http 304 https://registry.npmjs.org/mkdirp
- npm http 304 https://registry.npmjs.org/async
- npm http 304 https://registry.npmjs.org/rimraf
- npm http 304 https://registry.npmjs.org/eyes
- npm http 304 https://registry.npmjs.org/request
- npm http 304 https://registry.npmjs.org/i
- npm http 304 https://registry.npmjs.org/deep-equal
- npm http 304 https://registry.npmjs.org/timespan
- npm http 304 https://registry.npmjs.org/cycle
- npm http 304 https://registry.npmjs.org/stack-trace
- npm http 304 https://registry.npmjs.org/ini
- C:\Documents and Settings\Administrator\Application Data\npm\jitsu -> C:\Documen
- ts and Settings\Administrator\Application Data\npm\node_modules\jitsu\bin\jitsu
- [email protected] C:\Documents and Settings\Administrator\Application Data\npm\node_mo
- dules\jitsu
- ├── [email protected]
- ├── [email protected]
- ├── [email protected]
- ├── [email protected]
- ├── [email protected]
- ├── [email protected]
- ├── [email protected]
- ├── [email protected]
- ├── [email protected]
- ├── [email protected] ([email protected])
- ├── [email protected] ([email protected], [email protected])
- ├── [email protected] ([email protected], [email protected], [email protected], mkdirp@
- 0.3.4)
- ├── [email protected] ([email protected], [email protected])
- ├── [email protected]
- ├── [email protected] ([email protected])
- ├── [email protected] ([email protected], [email protected], [email protected], detec
- [email protected], [email protected], [email protected])
- └── [email protected] ([email protected], [email protected], [email protected], broadway@0.
- 2.5)
3、註冊jitsu帳號
這裏有兩種方式,一種是直接在node根目錄下輸入命令jitsu signup
還有一種是直接到nodejitsu的官網註冊
註冊地址如下:https://develop.nodejitsu.com/#
以上地址也是可以管理部署項目的網址,只是直接用該地址上傳工程未嘗試成功。
4、登錄nodejitsu
紅色部分需輸入用戶名密碼
- C:\Program Files\nodejs>jitsu login
- info: Welcome to Nodejitsu lemotstone
- info: jitsu v0.9.8
- info: It worked if it ends with Nodejitsu ok
- info: Executing command login
- prompt: username: lemotstone
- prompt: password:
- info: Authenticated as lemotstone
- info: Nodejitsu ok
5、編輯package.json
package主要用於存儲本次部署項目的項目名、域名、啓動文件、版本以及依賴模版等信息,下面是我一個工程的package.json文件
- {
- "name": "questionanswer",
- "subdomain": "questionanswer",
- "scripts": {
- "start": "./appall.js"
- },
- "version": "0.0.0-1",
- "engines": {
- "node": "0.8.x"
- },
- "dependencies": {
- "express": ">=2.5.0",
- "jade": ">=0.18.0",
- "html2jade": ">=0.1.0"
- }
- }
name--項目名稱
subdomain--域名 本工程部署後訪問http://questionanswer.jit.su/
scripts:start--本工程的啓動js,這個是package.json的相對路徑
version--工程版本,nodejitsu可自動管理
engines--node版本
dependencies--本項目依賴的模塊
6、上傳部署
- C:\Program Files\nodejs\questionanswer\question>jitsu deploy
- info: Welcome to Nodejitsu lemotstone
- info: jitsu v0.9.8
- info: It worked if it ends with Nodejitsu ok
- info: Executing command deploy
- info: Analyzing application dependencies in ./appall.js
- warn: Local package version appears to be old
- warn: The package.json version will be incremented automatically
- warn: About to write C:\Program Files\nodejs\questionanswer\question\package.
- json
- data:
- data: {
- data: scripts: { start: './appall.js' },
- data: engines: { node: '0.8.x' },
- data: name: 'questionanswer',
- data: version: '0.0.0-1',
- data: subdomain: 'questionanswer',
- data: dependencies: {
- data: jade: '>=0.18.0',
- data: express: '>=2.5.0',
- data: html2jade: '>=0.1.0'
- data: }
- data: }
- data:
- prompt: Is this ok?: (yes) y
- info: Creating snapshot 0.0.0-1
- info: Updating app questionanswer
- info: Activating snapshot 0.0.0-1 for questionanswer
- info: Starting app questionanswer
- info: App questionanswer is now started
- info: http://questionanswer.jit.su on Port 80
- info: Nodejitsu ok
7、訪問及管理工程
訪問https://develop.nodejitsu.com/#,輸入用戶名密碼即可看到我們剛剛部署的工程。
可以在此開啓或關閉項目,也可刪除,至於直接添加項目,我暫時還沒有嘗試成功。