如何用nodejs搭建web伺服器

2021-03-04 08:13:21 字數 5358 閱讀 1885

1樓:育知同創教育

引入需要用到的幾個模組:

//http協議模組

//url解析模組

var url = require('url');

//檔案系統模組

var fs = require("fs");

//路徑解析模組

var path = require("path");

建立服務並在指定的埠監聽:

//建立乙個服務

//在指定的埠監聽服務

在建立服務的時候需要傳遞乙個匿名函式processrequest 對請求進行處理,processrequest接收2個引數,分別是request和response, request物件中包含了請求的所有內容,response是用來設定響應頭以及對客戶端做出響應操作。

processrequest:function(request,response));

response.end();

}//新增預設的訪問頁面,但這個頁面不一定存在,後面會處理

pathname += "index.html";

ha***t = false; //標記預設頁面是程式自動新增的

}//獲取資源檔案的相對路徑

//獲取對應檔案的文件型別

var contenttype = this.getcontenttype(filepath);

//如果檔名存在

fs.exists(filepath,function(exists));

var stream = fs.createreadstream(filepath,);

stream.on("error", function() );

response.end("");

});//返回檔案內容

stream.pipe(response);

}else );

response.end("");

}else

}catch (e)

response.writehead(200, );

response.end(html);}}

});},

如何用nodejs搭建web伺服器

2樓:匿名使用者

主要解決兩個問題,1是靜態資源的處理,2是動態資源的路由。

靜態資源在node.js裡的意思是不變的,如**、前端js、css、html頁面等。

動態資源我們一般指aspx頁面,ashx頁面,asp頁面,jsp頁面,php頁面等,而node.js裡其實沒動態資源這一說,它對請求的處理都是由**方法完成的,在我實現的httserver裡,借鑑了ashx的寫法,把處理請求的js檔案看作動態資源。

首先實現乙個處理靜態資源的函式,其實就是對本地檔案的讀取操作,這個方法已滿足了上面說的靜態資源的處理。

如何用nodejs搭建web伺服器

3樓:育知同創教育

使用node.js搭建web伺服器是學習node.js比較全面的入門教程,因為實現web伺服器需要用到幾個比較重要的模組:

http模組、檔案系統、url解析模組、路徑解析模組、以及301重定向技術等,下面我們就一起來學習如何搭建乙個簡單的web伺服器。

作為乙個web伺服器應具備以下幾個功能:

1、能顯示以.html/.htm結尾的web頁面

2、能直接開啟以.js/.css/.json/.text結尾的檔案內容

3、顯示**資源

5、形如http://***.***/a/b/ , 則查詢b目錄下是否有index.html,如果有就顯示,如果沒有就列出該目錄下的所有檔案及資料夾,並可以進一步訪問。

6、形如http://***.***/a/b,  則作301重定向到http://***.***/a/b/ , 這樣可以解決內部資源引用錯位的問題。

引入需要用到的幾個模組:

//http協議模組解析模組var url = require('url');//檔案系統模組var fs = require("fs");//路徑解析模組var path = require("path");建立服務並在指定的埠監聽:

//建立乙個服務

bind(this)); //在指定的埠監聽服務

在建立服務的時候需要傳遞乙個匿名函式processrequest 對請求進行處理,processrequest接收2個引數,分別是request和response, request物件中包含了請求的所有內容,response是用來設定響應頭以及對客戶端做出響應操作。

processrequest:function(request,response));            response.end();            return ;        }        //新增預設的訪問頁面,但這個頁面不一定存在,後面會處理        pathname += "index.

html";        ha***t = false; //標記預設頁面是程式自動新增的    }     //獲取資源檔案的相對路徑獲取對應檔案的文件型別    var contenttype = this.getcontenttype(filepath);     //如果檔名存在    fs.

exists(filepath,function(exists));            var stream = fs.createreadstream(filepath,);            stream.on("error", function() );                response.

end("");            });            //返回檔案內容            stream.pipe(response);        }else );                response.end("");            }else                 }catch (e)                response.

writehead(200, );                response.end(html);            }        }    });}

請求處理函式中有幾個重點需要說一下:

對於路徑中有中文的,瀏覽器會自動進行編碼(英文不變,中文會變),因此在接收到位址後,需要對位址進行解碼,否則最後得到的路徑和真實路徑不相符,

當訪問路徑不是以具體的檔案結尾,並且不是以/結尾,則需要通過重定向加上/,表示當前目錄,否則當前路徑下的靜態資源會找不到

如果訪問路徑是目錄,則列出該目錄下所有檔案及資料夾,並可以點選訪問,為了讓中文目錄能正常顯示,則還要在header中設定charset=utf-8

核心**就這麼多,大概140行左右,完整的**已上傳到

如果要執行demo,開啟cmd切換到根目錄,執行node start 即可。

如何使用nodejs快速搭建本地伺服器

4樓:育知同創教育

如果電腦沒有安裝nodejs的同學可以先到node官方**並安裝好node程式。 安裝好nodejs後驗證一下是否安裝成功!如果出現則表明node已經承裝安裝上去了!

安裝好node之後開啟cmd 輸入 npm install anywhere -g 安裝anywhere 以上兩個步驟都就緒以...

如何使用nodejs快速搭建本地伺服器

5樓:育知同創教育

方法/步驟

1如果電腦沒有安裝nodejs的同學可以先到node官方**並安裝好node程式。

安裝好nodejs後驗證一下是否安裝成功!如果出現則表明node已經承裝安裝上去了!

2安裝好node之後開啟cmd 輸入 npm install anywhere -g 安裝anywhere ,然後等待直到出現以下介面。

3以上兩個步驟都就緒以後,萬事俱備,只欠東風啦!在cmd頁面 找到你想搭建伺服器的路徑,然後再當前路徑下輸入: anywhere 8860

然後瀏覽器就自動開啟本地訪問**,乙個簡單的node伺服器就這樣被我們搭建好啦!

如何使用nodejs快速搭建本地伺服器

6樓:育知同創教育

安裝好nodejs後驗證一下是否安裝成功!如果出現則表明node已經承裝安裝上去了!

安裝好node之後開啟cmd 輸入 npm install anywhere -g 安裝anywhere

在cmd頁面 找到你想搭建伺服器的路徑

然後瀏覽器就自動開啟本地訪問**,乙個簡單的node伺服器就這樣被我們搭建好啦!

如何用python搭建乙個最簡單的web伺服器

7樓:黑馬程式設計師

用python建立最簡單的web服務

器利用python自帶的包可以建立簡單的web伺服器。在dos裡cd到準備做伺服器根目錄的路徑下,輸入命令:

python -m web伺服器模組 [埠號,預設8000]

例如

然後就可以在瀏覽器中輸入

http://localhost:埠號/路徑

來訪問伺服器資源。

例如當然index.htm檔案得自己建立)

其他機器也可以通過伺服器的ip位址來訪問。

這裡的「web伺服器模組」有如下三種:

basehttpserver: 提供基本的web服務和處理器類,分別是httpserver和basehttprequesthandler。

******httpserver: 包含執行get和head請求的******httprequesthandler類。

cgihttpserver: 包含處理post請求和執行cgihttprequesthandler類。

如何用nodejs搭建web伺服器

node.js 是乙個基於 chrome v8 引擎的 javascript 執行環境。node.js 使用了乙個事件驅動 非阻塞式 i o 的模型,使其輕量又高效。node.js 的包管理器 npm,是全球最大的開源庫生態系統。nodejs官網上的介紹 正如官網上介紹的那樣,nodejs確實很牛!...

如何用python搭建最簡單的Web伺服器

用python建立最簡單的web服務 器利用python自帶的包可以建立簡單的web伺服器。在dos裡cd到準備做伺服器根目錄的路徑下,輸入命令 python m web伺服器模組 埠號,預設8000 例如 然後就可以在瀏覽器中輸入 http localhost 埠號 路徑 來訪問伺服器資源。例如當...

如何搭建web站點

1,每個 用不同的ip 2,每個 用不同的port cookies 會有問題 3,每個 用不同的host headers 今天剛好碰到類似的問題 公司申請了兩個網域名稱,想要把這兩個網域名稱指向同乙個ip下的兩個不同的站點.因為思歸提供的鏈結都英文的,所以在這裡我在用中文描述一下方法3的步驟 1,設...