這是我目前的理論爲node.js的是如何工作的:node.js實現背後的基本思想?
- 我在我的服務器上安裝的node.js,以便它可以解釋JavaScript文件。
- 然後我寫我的JavaScript文件,並把它們放在我的服務器上(就像我用PHP文件)。
- 然後我通過我的客戶端JavaScript與這些文件進行交互。
顯然我錯了,因爲我一直在尋找一個過去一個小時左右的教程,這將教會我如何將它安裝在我的服務器上 - 但他們似乎都專注於安裝它在當地。
有人可以給出最終實現將如何工作的點狀節點?
這是我目前的理論爲node.js的是如何工作的:node.js實現背後的基本思想?
顯然我錯了,因爲我一直在尋找一個過去一個小時左右的教程,這將教會我如何將它安裝在我的服務器上 - 但他們似乎都專注於安裝它在當地。
有人可以給出最終實現將如何工作的點狀節點?
與「任何其他機器」一樣,您可以將其安裝在「服務器」上 - 通過installer或package manager通過admin/root訪問。
現在,這個假設,通過「服務器」,你指的是一臺計算機。相反,如果您的意思是現有的「服務器應用程序」,比如Apache或IIS,則Node.js不會直接與這些應用程序集成。它主要取代它們,允許您從較低級別將整個服務器應用程序定義爲腳本。
這樣的腳本可以在project's homepage找到:寫在節點
這個簡單的Web服務器的「Hello World」爲 每個請求的響應。
var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/');
運行服務器,把代碼放到一個文件
example.js
,並通過命令行的node
程序執行:% node example.js Server running at http://127.0.0.1:1337/
除了這個例子,你會想檢查req.method
和req.url
,通常通過router或web framework來確定如何響應。 express
或compoundjs
將是很好的選擇。
您仍然可以使用其他服務器應用程序作爲Node.js的HTTP代理,並將流量傳遞給它。但Node.js仍然會分開運行。如果您使用的是IIS,甚至可以使用其中包含大部分設置的iisnode。
Node.js是一個服務器端JavaScript引擎,它使您能夠使用JavaScript語言構建Web服務器。它與IIS上的Apache和C#上的PHP類似。有一點不同的是,Node.js是基於事件的,它不像C#IIS那樣創建許多線程。所以,Node.js有處理高併發請求的潛力。對於Node.js教程,您可以參考Node.js網站:http://nodejs.org/api/
然後我通過客戶端JavaScript與這些文件進行交互。
我會不同意這一點和你在一起,因爲什麼Node.js的做的就是創建一個web服務器,服務器和客戶端之間的任何互動是基於HTTP的,這意味着Node.js的web服務器響應來自客戶端的請求的。
感謝您的幫助!自發布問題後,我發現(顯然),即使我有權訪問SSH,我也無法在共享主機帳戶上使用node.js。這聽起來對你正確嗎?顯然,即使我確實安裝了它,我也不會被允許訪問某些端口。 – JoeRocc 2013-03-24 14:43:07
@JoeRocc是的。您通常需要[顯式支持Node.js](http://stackoverflow.com/a/3744294)或升級到「* private *」或「* dedicated *」託管計劃的主機,以便您擁有更多控制權。 – 2013-03-24 17:19:57
對不起,遲到的回覆。好的,所以我的整個node.js服務器(電腦)將在一個腳本上運行?如果我想擁有多個網站怎麼辦?用戶是否總是通過單個node.js腳本與我的服務器通信,或者是否以某種方式將某些node.js文件附加到不同的域? – JoeRocc 2013-04-04 06:00:15