請原諒我對node.js的無知。我已經開始閱讀node.js並且有一些看法可能是錯誤的。所以需要它來澄清Node.js介紹
- 當我們使用createServer()方法時,它是否會創建一個虛擬服務器。不知道是否術語「虛擬」是合適的,但它是最好的,我可以形容它:)
- 我很困惑,我應該如何部署具有的node.js +其他自定義js文件作爲它的一部分我的申請。如果我在主服務器上部署應用程序,這是否意味着我有兩臺服務器?
感謝您與我的軸承。
請原諒我對node.js的無知。我已經開始閱讀node.js並且有一些看法可能是錯誤的。所以需要它來澄清Node.js介紹
感謝您與我的軸承。
我會盡量回答:
Q1:
createServer基本上創建監聽指定端口的請求上的進程。所以是的,你可以稱它爲一個虛擬服務器,它不斷地在端口監聽請求。
Q2:
是的,你可以說,它現在已經2個服務器
對於例如:你的服務器開始監聽80端口有阿帕奇(您可以通過默認的外觀訪問它http://example.com/它端口爲80)
,然後你還需要啓動節點服務監聽其他一些端口如上:端口8456(你可以訪問它http://example.com:8456/將尋找端口8456)
所以是的,你可以有兩臺服務器。
編輯
Q:因此,如果頁面是由物理服務器和node.js中創建的虛擬服務器提供服務會有什麼區別呢?
物理服務器和節點服務器是兩種不同的東西,並且沒有辦法向兩個服務器發送單個請求。
對於如: 我使用Apache服務器主機上運行PHP我的網站。它提供了我網站的所有html內容(涉及連接到mysql的數據)。 一些請求可能是:
在另一端,我可能會使用服務器的NodeJS爲完全另一個目的。例如:我可能會使用它作爲返回JSON/XML的API。我可以使用這個API自己的一些動態內容通過使用JavaScript的AJAX調用或簡單的CURL命令來自PHP。或者我也可能將此API提供給公衆。 一些請求可能是:
我對用作API將是其處理併發請求的能力,並因爲它的異步傳送的NodeJS服務器的選擇文件操作將比PHP快得多。
在這種情況下,我有一個網站,它不僅在PHP上工作,而且它的2種不同技術(Apache和Nodejs上的PHP)的組合以及2個服務器在完全不同的服務器上運行,但有自己的執行空間。
第三個問題: 那麼,如果頁面由物理服務器和由node.js創建的虛擬服務器提供服務,會有什麼區別?
如果我想補充,它在意義上的虛擬服務器Apache是一個虛擬HTTP服務器偵聽任何端口上。當然Apache有更多的模塊,插件和配置,因爲Node的更輕(有點像WEBrick for rails),非阻塞和靈活的構建。然後再apache更穩定..換句話說,這是一個軟件的決定,都坐在服務器上,監聽你設置的特定端口。
這就是說,有一種部署方法可以讓節點應用程序放在nginx(另一個服務器端軟件)或HAproxy(負載處理功能強大)之類的軟件之前,所以真的完全取決於你選擇配置它。
也許我已經遠離你的問題,但我希望這有助於!
此外,你應該給的答案,其他人,他來到第一;)
謝謝film42的答案。事實上,我標記了swapnil的答案。美好的一天。 – 2012-08-01 09:47:51
啊!謝天謝地,我想我瘋了:)。感謝您的回答。那麼,如果頁面由物理服務器和由node.js創建的虛擬服務器提供服務,會有什麼不同? – 2012-07-31 14:25:06
增加了一些解釋...也檢查了@ film42的答案 – swapnilsarwe 2012-08-01 08:02:41
感謝swapnil的解釋。 – 2012-08-01 09:40:48