我們將生活在雲上-雲端開發,雲端部署


相信雲這個概念對於專業的開發人員來說已經不是什么新名詞了。這年頭搞個應用不與雲沾點邊都拿不出手。最近在研究node.js,我在想既然node.js能將javascript作為服務器端語言來用,那么只要將js腳本提交到雲上是不是就可以直接運行了呢? 答案是可以的,來看看Cloud9吧!一個node.js的在線IDE,實現雲端開發和雲端部署不是夢。作為一個入門級的介紹文章,我還是從hello world開始。但在我們寫代碼之前,我們先來看看這個雲端IDE的樣子:

怎么樣,是不是很酷!酷的不僅僅是這些,它支持把代碼直接push到Github和Bitbucket, 還支持直接deploy你的app到heroku,joyent和window azure雲上。

下面的步驟告訴你如何實施一次雲端開發和部署:

1. 你需要至少3個帳號:Cloud9, Github/Bitbucket, Heroku/Joyent/Azure。我個人建議是Cloud9, Github, Heroku組合,因為都是免費的。注冊的事情我想就不需要多說了,不過有一點是建議都用一樣的用戶名和密碼,這樣不容易忘記^_^!

2. 登錄到Cloud9,並激活Github/Bitbucket

3. 創建一個在線工程,你可以選擇新建一個或是從Git/Bit上clone一個(我相信用過Git或Hg的朋友們都知道)。

4. 打開這個工程,如果你第一次用的話可以看一下Cloud9的演示程序(我覺得蠻不錯的)

你可以右鍵工程文件夾來新建一個文件(提示:IDE有一個bug就是演示完的文件,你修改了是保存不了的,所以建議你新建一個文件,然后把原來的那個刪除)。之后,請貼入如下代碼:

var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('hello cloud9');
}).listen(process.env.PORT);
console.log('server is running on port : ' + process.env.PORT );

代碼的含義我就不解釋了,不懂的朋友可以去nodejs.org上看看先。唯一需要注意的是紅色部分,在雲端開發最重要的一個是端口的問題。Cloud9提供了自己的測試環境端口process.env.C9_PORT,但是這個端口在heroku上是不能工作的,這個后面會說。完了你可以在ruan那個地方去debug一下看看效果。(這里我不得不說一下,我們國家的網絡真是......唉!!!啥也不說了,有vpn的用vpn,有ssh的用ssh, 沒有的用代理)。

然后你訪問你得到的網址看看輸出結果。(這一步有可能會失敗,如果你代碼沒有錯,那么就是網絡的原因)
5. 如果以上的程序測試沒有問題,那么我們下一步就准備將它部署到雲上去了。請猛擊Deploy按鈕,在出現的Tab頁面中點擊右上角的+號

(

不過在此之前還需要將我們已有的代碼提交到github上面,

> git add .

> git commit -m "init"

因為heroku是從github上去拽代碼的)

對於現在的cloud9來說它只支持3個雲服務,heroku,joyent和Azure。每個雲服務都有各自不同的配置文件,這里選擇heroku來舉例(因為它是免費的哦,請先注冊一個)。對於heroku的雲服務來說,配置還是比較簡單的。只需要一個Procfile的文件(自己手動創建一個)即可,我們只需要在里面添加這樣一行代碼

web: node hello_tmpl.js

這個文件主要是告訴heroku在啟動你的應用程序時,需要如何加載或執行你的文件。另外如果你用到了除nodejs核心庫以外的模塊,這里還需要用到一個package.json來告訴heroku幫你加載指定的模塊。將所有依賴的模塊都記錄到這個文件中。

如果一切正常,最終我們登錄到heroku網站后,可以在賬戶里看到自己創建的應用程序。

這樣就可以通過url: http://hello-ace-com.herokuapp.com/ 來訪問創建的應用程序了。

到此,基本的雲端開發與雲端部署流程已經結束。如果在運行應用程序時出現問題,可以通過heroku的客戶端程序來查看log等內容(點擊這里看看)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM