簡體   English   中英

啟動使用Node.js編寫的服務器

[英]Starting a server written using Node.js

我已經寫了這個示例服務器,

runServer = function(){
    var http = require("http");
    http.createServer(function (request, response) {
    request.on("end", 
    function () 
    {
        response.writeHead(200, {'Content-Type': 'text/plain'});
        response.end('Hello HTTP!');
    });
}).listen(8075);

}

現在我想從HTML頁面運行此服務器onClick,可以嗎? 如果是,那怎么辦?

您將不得不使用不同的Web服務器(例如LAMP堆棧)在同一台計算機上提供HTML頁面,並使用服務器端腳本來運行OS命令“ node servername.js”

通常,您需要將此代碼保存到文件中並從命令行運行:

 node mycode.js

但是,如果要從本地計算機上的JavaScript啟動它,這里還將討論兩個解決方案:跨平台簽名的Java Applet和Windows特定的WScript.Shell。 Java applet可以檢查操作系統,並在Windows,Mac和Linux可執行文件之間進行選擇。

您還可以生成一個自定義.exe文件,該文件將啟動node.exe並將所需的參數傳遞給該文件。

但是,從Web下載的代碼存在很多安全問題,因此無論采用哪種解決方案,瀏覽器都可能會顯示各種可怕的警告。 考慮繞過瀏覽器啟動節點可執行文件可能並不壞。

當然,您可以這樣做,但實際上並沒有多大意義。 如果要從服務器獲取HTML頁面,那么為什么要啟動另一個服務器來在另一個端口上服務HTTP請求呢? 為什么不只運行服務器並在兩個端口上監聽呢? 您可能只想做的就是通過運行從命令行啟動服務器

node myserver.js

在您的終端中。

但是,如果由於某種原因您真的想從這樣的php腳本啟動另一個http服務器,則可以執行以下操作:

  • 在單擊按鈕時,向一些php / python / something腳本發出AJAX請求
  • 在php / python / whatever腳本中執行“ node myServer.js”
  • 向本地主機發出請求:8075

但是,我認為您真的應該在繼續操作之前先閱讀一下node.js的目的及其作為網絡服務器的作用,因為您的問題似乎反映出對該領域缺乏理解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM