從 nodejs 的 github wiki 上可以找到一個頁面為 Node hosting 上面有相當多的服務可以選擇使用,著要是測試用機器,所以幾個重點條件就是:
1. deploy 後立馬可以使用
2. 可以跑 nodejs 並且支援 0.8+ 的版本
3. 使用 Git 做版本控管
4. 免費(超重要)
基於以上條件目前使用過兩個服務:
1. heroku
2. openshift
這次先來介紹 openshift,oepnshift 是頂頂大名的 redhat 提供的服務,這次使用的是 openshift online,產品定位為 Public Paas,有支援語言:Nodejs 0.6+, 0.10+, JAVA, PHP, Python, Ruby, Perl, GO (註1),或是可以直接在上面架設 Jenkins, Drupal, Wordpress 可直接開啟不需要自行 deploy。 openshift 官方還有寫了一套 Command-line client 工具來對 deploy 上去的 app 坐操作,關閉、啟動、重起、目前的 log 等,詳細可至官方查詢。
當然最重要的 openshift 符合我們所有的條件,並且免費的 Gear(instance) 可以開三台,如官網價錢:
Size | MemMemory | Storage | Recommended for | Cost |
---|---|---|---|---|
Small | 512 MB | 1-6GB 1GB expandable |
PHP, Perl, Python, Ruby, Node.js, MySQL | $0.04 after the first 3 |
Medium | 1GB | 1-6GB 1GB expandable |
Java, MongoDB, PostgreSQL | $0.10 |
Medium (with JBoss EAP 6) Java EE6 Full Profile |
1GB | 1-6GB 1GB expandable |
JBoss EAP | $0.13 |
這麼佛心看到只能馬上跪下說聲「謝主龍恩」不然也不知道該怎麼辦,目前使用上除了 deploy 速度很慢(相較起 heroku),web 介面非常醜並且不人性化,常常找不到資料,官方文件看不太懂以外,其實還蠻不錯的,畢竟是要免費的測試機還是別太苛求。
目前就一點特別需要注意,deploy 上去後 port 與 root url 設定上與一般不太相同,必須修改如下:
port 必須設定為「process.env.OPENSHIFT_NODEJS_PORT」
root url 必須設定為「process.env.OPENSHIFT_NODEJS_IP」
以 sails 為例,local.js 必須修改如下
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module.exports = { | |
host: process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1', | |
// port: process.env.PORT || 1337, | |
port: process.env.OPENSHIFT_NODEJS_PORT || 80, | |
// environment: process.env.NODE_ENV || 'development' | |
// environment: process.env.NODE_ENV || 'production' | |
environment: process.env.NODE_ENV || 'development' | |
}; |
註1. 除了nodejs 外其他語言支援版本可至官方開發者中心查詢
相關連結
nodejs
github wiki
Node hosting
heroku
openshift
openshift developer center
openshift Command-line client
openshift pricing
sailsjs
沒有留言:
張貼留言