部署node程式並維持正常已耗用時間

來源:互聯網
上載者:User

標籤:

12.2部署的基礎知識


假定你建立了一個想要展示的Web程式,或者建立了一個商業應用,在把它放到生產環境中
之前需要測試一下。你很可能會從一個簡單的部署開始,然後再做些工作讓它的正常已耗用時間和
效能達到最優。本節會帶著你經曆一次簡單、臨時的Git部署,並教你如何用Forever把程式跑起
來。臨時性部署在重啟後會丟失,但它們的優勢是設定起來很迅速。


12.2.1 從Git存放庫部署
我們快速過一下使用Git存放庫的基本部署,讓你對主要步驟有個直觀的認識。
大多數部署都需要完成下面這些步驟:
(1) 用SSH串連到伺服器上;
(2) 如果需要的話,在伺服器上安裝Node和版本控制工具(比如Git和Subversion) ;
(3) 從版本控制存放庫中下載程式檔案,包括Node指令碼、圖片和CSS樣式表,放到伺服器上;
(4) 啟動程式。
這裡有個例子,用Git下載完程式檔案後啟動它:
像PHP一樣,Node也不是背景工作。因此我們列出來的這個基本部署不能斷開 SSH串連。SSH
串連一旦斷開,程式就會終止。不過用一個簡單的工具就可以輕鬆地讓程式保持運行狀態。
自動部署 有幾種可以自動部署Node 程式的辦法。其中一種是使用Fleet
(https://github.com/substack/fleet)這樣的工具,可以用git push部署到一或多個伺服器
上。更傳統的方式是用Capistrano, Evan Tahler的部落格 Bricolage上發表了一篇詳細介紹
文章“用Capistrano部署node.js程式”(http://mng.bz/3K9H)。


12.2.2 讓Node保持運行
比如說你用Cloud9 Nog部落格程式(https://github.com/c9/nog)建立了一個個人部落格,現在你
想要部署它,並要確保在你斷開SSH串連後它仍能運行。
在Node社區中,針對這個問題最常用的處理工具是Nodejitsu的Forever(https://github.com/
nodejitsu/forever)。它能在你斷開SSH串連後讓程式保持運行狀態,在程式崩潰退出後還能重啟它。
圖12-3是Forever工作機制的概念圖。


你可以用sudo命令做Forever的全域安裝。
SUDO命令 在做npm模組的全域安裝時(帶-g選項),經常需要在npm命令前面
加上sudo(www.sudo.ws/),以超級管理員的許可權運行npm命令。在你第一次使用sudo
命令時,系統會提示你輸入密碼。然後再運行跟在sudo後面的命令。
如果你一直跟著我們,現在用下面的命令安裝Forever:

sudo npm install  -g   forever

Forever裝好之後,你可以用下面這條命令啟動你的部落格,並讓它一直運行下去:

forever start  server.js

如果出於某些原因你想停止這個部落格,可以用Forever的stop命令:

forever stop server.js

使用Forever時,你可以用它的list命令擷取它所管理的程式清單:

forever list

Forever還有一個比較實用的功能,當有源碼檔案發生變化時,可以讓它重啟程式。這樣每次
添加新特性或修訂bug時,你就不用再手動重啟了。
要在這種模式下啟動Forever,請用-w選項:

forever -w  start server.js

儘管Forever在程式部署上是一個極其實用的工具,但你可能想要一些功能更完備的東西做長
期部署。下一節我們會看一些工業級強度的監測方案,並看看如何讓程式的效能達到最優。

 

部署node程式並維持正常已耗用時間

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.