2015-04-05 79 views
1

如何在服務器上上傳我的nodeJS代碼以公開。使用nodeJS代碼上傳正常的html文件和html文件有什麼區別?如何公開nodeJS代碼

+0

你是想分享你的node.js代碼,還是試圖讓你的web服務器可以被公衆訪問,但不是你的node.js代碼?我的答案如下,假設你試圖「公開製作nodeJS代碼」,因爲這是你的頭銜所說的,但現在我不確定這是否是你的真正意思。 – jfriend00 2015-04-05 09:11:27

回答

0

一種公開分享任何代碼的簡單方法是打開一個免費的GitHub賬戶並將您的代碼放在GitHub上。如果你想看看GitHub上的示例項目,你可以看看實際的node.js source code here

在GitHub上,您創建了一個項目,然後可以以任何最適合您的方式組織與該項目相關的各種文件。 HTML文件可能與node.js Javascript文件不同(例如,目錄)。

一旦你使用GitHub,你也可以將它用於你的源代碼控制系統(版本控制,分支,標籤等等)。


如果你真正叫「如何使代碼的NodeJS公衆」是如何讓你的node.js服務器向公衆開放,使網頁它服務可以從一般的互聯網訪問,然後這是一個完全不同的問題。在這種情況下,您需要找到可供互聯網訪問的計算機/主機,並且您需要在該服務器上安裝node.js代碼。這通常是通過託管安排來完成的,例如亞馬遜網絡服務,Rackspace,Joyent(Node.js的製造商),Nodejitsu和成千上萬的其他服務商等等。您通常需要尋找一個託管服務提供商對node.js有特定的支持,所以你確定它支持所有相關的工具,長時間運行的服務器進程,webSockets等...

2

Node.js是一個服務器端腳本, Chromes V8引擎。現在,與之不同的是,使用節點開發的應用程序可以被看作是響應您的請求的服務器。在使用node.js編寫腳本時,我們正在創建一個http服務器,它不斷響應您的請求。換句話說,當您運行nodejs應用程序時,您正在運行http服務器的一個實例。它與使用合適的語言編譯器包安裝單獨的web服務器(如apache或nginx)然後將代碼部署到其Web根目錄並由其提供服務的場景完全不同。

您只需在您的服務器上安裝node.js並使用它運行您的應用程序。

現在,如果由於高負載或腳本中某些未處理的異常而出現任何問題,不僅應用程序崩潰,而且Web服務器本身的實例崩潰。因此,您需要持續監控您的應用程序,並且如果出現任何問題,可能需要重新啓動它。當主機系統/服務器本身重新啓動時,也可能出現這種情況。

應該有東西可以在需要時重新生成節點進程。這可以通過直到永久使用nodemon或crontab完成,除非主機系統本身沒有重新啓動。在這種情況下,我們需要更有效的東西。

我們可以通過以下兩個步驟在linux系統中處理這些情況:
1.將您的節點應用程序設置爲以系統服務管理器或守護進程啓動。
2.使用一些監視linux守護進程的工具併爲您執行。

步驟1:使用進程管理器(Upstart) 我們可以使用upstart使節點進程由守護進程管理或者說在後臺運行。您不需要始終打開終端。您也可以輕鬆配置啓動/重啓/停止腳本。各種Linux風格,如RHEL,Ubuntu,CentOS和Fedora都與它捆綁在一起。

步驟2:使用Monit(觀察者) 我們可以使用monit來監視守護進程,文件系統,目錄,localhost以及與進程相關的各種進程特性(如內存和CPU週期)。 因此,它可用於自動執行要採取的操作,適用於不僅與應用程序崩潰相關的各種場景,而且還涉及高資源利用率,安全漏洞和文件更改。 使用它我們可以配置將在特定時間間隔進行評估的測試。