㈠ 如何使用nodejs搭建一個伺服器
使用node搭建一個伺服器:
//1、引入模塊 使用的http服務協議是RFC2616 nodejs的作者已經寫好了,直接引入就行
var http = require('http');
//引入文件讀寫模塊fs
var fs = require('fs');
//2、創建伺服器 函數的參數req是發送給伺服器的請求,res是伺服器的相應
var httpObj = http.createServer(function(req,res){
//編寫url 其中index.html是要伺服器讀取的文件
var url = req.url=='/'?'index.html':req.url;
//開始文件讀取,參數分別是完整的url 編碼 和讀取完畢執行的函數,注意前後台編碼需要一致
fs.readFile('www/'+url,'utf-8',function(err,data){
//res.write伺服器的相應,當成功的時候,伺服器會傳輸一個data數據,相應結束需要end
if(err){
res.write('404,您訪問的頁面不存在');
res.end();
}else{
res.write(data);
res.end();
}
});
});
//監聽埠
httpObj.listen(80);
㈡ 如何通過輸入域名訪問部署在本機的nodejs伺服器
修改系統的hosts文件就可以了,比如(你想用的域名為:www.myapp.com):
node伺服器的host為:localhost,埠(port):8080;
修改系統hosts文件,在末尾加一行代碼:127.0.0.1 www.myapp.com 然後保存。
在瀏覽器輸入:www.myapp.com:8080即可訪問(前提是項目node伺服器正在運行,沒運行會失敗);
PS:如果想直接輸入www.myapp.com就能訪問(不加埠,其實不是沒有埠只是一般80埠是默認值,可以不寫),只需把node伺服器的埠(port)設置為80再運行即可(當然前提是80埠沒有被其他程序佔用)
㈢ 無法連接到本地伺服器中用Nodejs問題,怎麼解決
搭建nodejs伺服器步驟:
1.安裝nodejs服務(從官網下載安裝),node相當於apache伺服器
2.在自己定義的目錄下新建伺服器文件如 server.js
例如,我在E:\PhpProject\html5\websocket下創建了server.js文件
var http = require('http');//引入http模塊//開啟服務,監聽8888埠//埠號最好為6000以上var server = http.createServer(function(req,res){
/*
req用來接受客戶端數據
res用來向客戶端發送伺服器數據
*/
console.log('有客戶端連接');//創建連接成功顯示在後台
//一參是http請求狀態,200連接成功
//連接成功後向客戶端寫入頭信息
res.writeHeader(200,{ 'content-type' : 'text/html;charset="utf-8"'
});
res.write('這是正文部分');//顯示給客戶端
res.end();
}).listen(8888);
console.log('伺服器開啟成功');
3.在cmd控制台中cd切換進server.js所在的目錄,然後執行node server.js命令
當控制台顯示」伺服器開啟成功」則說明node伺服器已經建立
4.在瀏覽器中訪問伺服器
在瀏覽器中輸入
localhost:8888 , 瀏覽器顯示「這是正文部分」。
查看cmd控制台,顯示 「有客戶端連接」
可在多個瀏覽器窗口中進衡掘滾行以上操作,每個瀏覽器窗口均會對應一次「有客戶端連接」
以上步驟完成,node服務搭建完畢散升。下面是如何通過搭建的node服務訪問本地站點的 text/html文本文件
訪問本地站點文件
1.在自定義的目錄下創建node服務文件server2.js
var http = require('http');var fs = require('fs');//引入文件讀取模塊var documentRoot = 'E:/PhpProject/html5/websocket/www';//需要訪問的文件的存放目錄var server= http.createServer(function(req,res){
var url = req.url;
//客戶端輸入的url,例如如果輸入localhost:8888/index.html
//那麼這里的url == /index.html
var file = documentRoot + url;
console.log(url); //E:/PhpProject/html5/websocket/www/index.html
fs.readFile( file , function(err,data){
/*
一參為文件路徑
二參為回調函數
回調函數的一參為讀取錯誤返回的信息,返回空就沒有錯誤
二參為讀取成功返回的文本內容咐余
*/
if(err){
res.writeHeader(404,{ 'content-type' : 'text/html;charset="utf-8"'
});
res.write('<h1>404錯誤</h1><p>你要找的頁面不存在</p>');
res.end();
}else{
res.writeHeader(200,{ 'content-type' : 'text/html;charset="utf-8"'
});
res.write(data);//將index.html顯示在客戶端
res.end();
}
});
}).listen(8888);
console.log('伺服器開啟成功');
2.創建index.html文件
如果要訪問index.html文件,當然你得先有這個文件,不然伺服器讀取失敗,返回40412
3.在cmd控制台cd切換到 server2.js的目錄下執行node server2.js命令
開啟伺服器
4.在瀏覽器輸入localhost:8888/index.html訪問 該文件