當前位置:首頁 » 雲伺服器 » 如何處理node伺服器

如何處理node伺服器

發布時間: 2022-12-30 07:12:35

⑴ nodejs搭建web伺服器就是這么簡單!

Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境。 Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。Node.js 的包管理器 npm,是全球最大的開源庫生態系統。(nodejs官網上的介紹),正如官網上介紹的那樣,nodejs確實很牛!怎麼個牛法?看看下面的代碼就知道了。

//引入http模塊

var http = require("http");

//設置主機名

var hostName = 飗.0.0.1'

//設置埠

var port = 8080;

//創建服務

var server = http.createServer(function(req,res){

res.setHeader('Content-Type','text/plain');

res.end("hello nodejs");

});

server.listen(port,hostName,function(){

console.log(`伺服器運行在http://${hostName}:${port}`);

});

短短幾行代碼就把一個簡單的web伺服器搭建完成了,為了驗證效果,我們在瀏覽器請求,結果如下

運行成功!

到此為止,一個web伺服器就建立成功了! 沒錯就是這么簡單,然後我們就可以寫個html界面愉快的玩耍了,哈哈哈!果斷的寫了一個html頁面來請求一下我們的web伺服器。

代碼簡單,點擊p獲取數據並將伺服器返回的數據展示。好了,我們運行一下demo.html文件,我擦來!居然出現了……

很明顯,通過jquery請求不到數據,這是因為跨域請求的原因。我們的web伺服器並不支持跨域請求,所以報錯了。解決方式:在伺服器的響應頭文件里加上如下代碼:

再次重啟伺服器,運行demo.html,顯示結果很是令人欣喜!

通常請求伺服器都會拼接參數的,最常用的就是get請求,post請求。很明顯,我們現在的代碼還不能支持。express框架很好的封裝了nodejs的http模塊,使我們用起來非常的簡單。

引入express :$ cnpm install express –save

使用方式變化不大,通過express()方法開啟服務,然後在通過get方法來設置匹配參數的路由,通過在回調函數的req中可以獲取請求參數和地址。post請求也是類似,不過有不同的是,post請求在獲取參數的時候要引入body-parser 中間件,用於處理 JSON, Raw, Text 和 URL 編碼的數據。

運行結果:

完整的get以及post請求就是以上了。下一篇文章會結果fs文件模塊介紹http是如何返迴文件的,敬請期待!!

學習從來不是一個人的事情,要有個相互監督的夥伴,想要學習或交流前端問題的小夥伴可以私信「學習」小明加群獲取2019web前端最新入門資料,一起學習,一起成長!

⑵ 解決node+express在linux上關閉伺服器服務就停止的問題(非PM2)

1:forever 

forever能做更多的事情,比如分別記錄輸出和錯誤日誌,宕機重啟,熱部署。比如可以在js中作為api使用

1.1安裝forever

npm install forever -g

1.2啟動服務

service forever start

1.2使用forever啟動js文件

forever start app.js

1.3停止js文件

forever stop app.js

1.4啟動js文件並輸出日誌文件

forever start -l forever.log -o out.log -e err.log app.js

1.5重啟js文件

forever restart app.js

1.6查看正在運行的進程

forever list

2:簡要步驟

1:在伺服器上運行 npm install forever -g  命令安裝forever ;

2:重啟伺服器;

3:執行forver start xxx.js文件

⑶ NodeJS 伺服器負載均衡方案(性能優化)

大前端趨勢越來越有趣,以腳本編輯為主流的前端構建方式(JavaScript,TypeScript)已經在前端陣營中從pc端,進軍到Native的混合開發(ReactNative,Weex),現在Google又推出了Pwa能夠通過JS腳本編寫直接構建成為原生的Native項目的工程框架,並且目前微軟,蘋果也都發表聲明將支持Pwa的使用。

使得腳本語言有了越來越多的用武之地,更多的渲染手段,更多的打包方式,讓前端的開發能夠有很多靈活的方式進行項目組裝,模塊的重用。webpack,gulp的靈活使用往往能使得一個工程支持多個項目,而且還能同樣保證項目的結構整潔清晰。

這些項目很多都會部署在nodejs 服務上,那麼進入主題如何能使得nodejs 服務能夠更穩定的運行,由於nodejs是單線程服務,在運行過程中首先是進程的優化使用。然後就是通過nodejs對伺服器性能的監聽,os 模塊提供了一些操作系統相關的實用方法。

通過os模塊判斷伺服器性能,當伺服器性能不足時,
nodejs功能強大且多樣,不只是可以實現伺服器端與客戶端的實時通訊,另一個功能是用來執行shell命令

⑷ 如何用命令行開啟nodejs搭建web伺服器

首先,需要安裝nodejs,這個可以去官網下載,目前我本地安裝的v0.12版本。

安裝完成後可以通過命令行測試安裝是否成功,輸入:node -v,應該會顯示當前安裝node版本號。


本文中用到的模塊,都是nodejs核心模塊,不需要從外部下載,如果有需要,可以使用以下命令安裝:npm install xxx。


開始
下一步,新建js文件,可以命名為server.js,代碼如下:
var http = require('http');
var url = require('url');
var path = require('path');
var fs = require('fs');
var dir, arg = process.argv[2] || ''; // 命令行第三個參數,用來接收目錄,可為空,相對當前server.js文件的目錄名稱


// 比如使用命令 node server debug,意思就是debug文件夾與server.js文件同級
// 且你想以debug文件夾啟動web服務



http.createServer(function (req, res) {
var pathname = __dirname + url.parse(req.url).pathname;

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

1、如果電腦沒有安裝nodejs的同學可以先到node官方下載並安裝好node程序。
2、安裝好nodejs後驗證一下是否安裝成功!如果出現則表明node已經承裝安裝上去了!
3、安裝好node之後打開cmd 輸入 npm install anywhere -g 安裝anywhere ,然後等待直到出現以下界面。
4、然後瀏覽器就自動打開本地訪問網址,一個簡單的node伺服器就這樣被搭建好啦!

⑹ linux如何後台運行node服務

在你的任意目錄輸入命令: npm install pm2 -g

1.找到全局環境PATH路徑
輸入命令: echo $PATH
回車後: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
你的路徑和我的可能不一樣,但沒關系,你可以選擇任何一個以:隔開的路徑做為系統環境路徑,我通常會選 /usr/local/bin
2:找到pm2的安裝路徑
在上面輸入 npm install pm2 -g 全局安裝時
/usr/sbin/nodejs/bin/pm2 -> /usr/sbin/nodejs/lib/node_moles/pm2/bin/pm2
/usr/sbin/nodejs/bin/pm2 是安裝路徑(你的可能和我的不一樣)
3.好了都找到了,
就重要的一步要開始了,睜大你的雙眼。
命令為: ln -s /usr/sbin/nodejs/bin/pm2 /usr/local/bin/ (注意空格)
格式: ln -s 空格 pm2安裝路徑 空格 系統環境路徑

OK,搞定,接下來驗證一把…
[root@iZmwyb7v60px1zZ ~]# pm2 list
回車...

$ pm2 start app.js # 啟動app.js應用程序
$ pm2 start app.js –name=」api」 # 啟動應用程序並命名為 「api」
$ pm2 start app.js –watch # 當文件變化時自動重啟應用
$ pm2 start script.sh # 啟動 bash 腳本

$ pm2 list # 列表 PM2 啟動的所有的應用程序

$ pm2 monit # 顯示每個應用程序的CPU和內存佔用情況

$ pm2 show [app-name] # 顯示應用程序的所有信息

$ pm2 logs # 顯示所有應用程序的日誌

$ pm2 logs [app-name] # 顯示指定應用程序的日誌
$ pm2 stop all # 停止所有的應用程序

$ pm2 stop 0 # 停止 id為 0的指定應用程序

$ pm2 restart all # 重啟所有應用

$ pm2 reload all # 重啟 cluster mode下的所有應用

$ pm2 gracefulReload all # Graceful reload all apps in cluster mode

$ pm2 delete all # 關閉並刪除所有應用

$ pm2 delete 0 # 刪除指定應用 id 0

$ pm2 scale api 10 # 把名字叫api的應用擴展到10個實例

$ pm2 reset [app-name] # 重置重啟數量

$ pm2 startup # 創建開機自啟動命令

$ pm2 save # 保存當前應用列表

$ pm2 resurrect # 重新載入保存的應用列表

$ pm2 update # Save processes, kill PM2 and restore processes

$ pm2 generate # Generate a sample json configuration file

⑺ 如何停止本地運行的nodejs伺服器

停止方法:

1.首先,不能共享完畢之後,都通過Ctrl+C來關閉NodeJS伺服器。

這樣,我們就沒必要每次為了退出伺服器,都去按Ctrl + C了。

⑻ 怎麼連接nodejs伺服器

前面已經學習了WebSocket API,包括事件、方法和屬性。詳情:WebSocket(二)--APIWebSocket是基於事件驅動,支持全雙工通信。下面通過三個簡單例子體驗一下。

簡單開始

1.安裝node。/

2.安裝ws模塊

ws:是nodejs的一個WebSocket庫,可以用來創建服務。

3.server.js

在項目裡面新建一個server.js,創建服務,指定8181埠,將收到的消息log出來。

//建立連接
var ws = new WebSocket("ws://localhost:8181"); var nickname = "";
ws.onopen = function (e) {
console.log('Connection to server opened');
} //顯示
function appendLog(type, nickname, message) { if (typeof message == "undefined") return; var messages = document.getElementById('messages'); var messageElem = document.createElement("li"); var preface_label; if (type === 'notification') {
preface_label = "<span class="label label-info">*</span>";
} else if (type == 'nick_update') {
preface_label = "<span class="label label-warning">*</span>";
} else {
preface_label = "<span class="label label-success">"
+ nickname + "</span>";
} var message_text = "<h2>" + preface_label + "&nbsp;&nbsp;"
+ message + "</h2>";
messageElem.innerHTML = message_text;
messages.appendChild(messageElem);
} //收到消息處理
ws.onmessage = function (e) { var data = JSON.parse(e.data);
nickname = data.nickname;
appendLog(data.type, data.nickname, data.message);
console.log("ID: [%s] = %s", data.id, data.message);
}
ws.onclose = function (e) {
appendLog("Connection closed");
console.log("Connection closed");
} //發送消息
function sendMessage() { var messageField = document.getElementById('message'); if (ws.readyState === WebSocket.OPEN) {
ws.send(messageField.value);
}
messageField.value = '';
messageField.focus();
} //修改名稱
function changName() { var name = $("#name").val(); if (ws.readyState === WebSocket.OPEN) {
ws.send("/nick " + name);
}
}

運行結果:

頁面關閉之後,連接馬上斷開。

這種實時響應的體驗簡直不能太爽,代碼也清爽了,前端體驗也更好,客戶端不用一直發請求,服務端不用等著被輪詢。

小結:上面例子的代碼都很好理解,接下來學習WebSocket協議。

⑼ 無法連接到本地伺服器中用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訪問 該文件

熱點內容
軟體編程有哪些 發布:2025-03-16 16:46:07 瀏覽:477
最近上傳91 發布:2025-03-16 16:46:03 瀏覽:703
珍珠台編程 發布:2025-03-16 16:40:25 瀏覽:898
伺服器如何連接寬頻 發布:2025-03-16 16:31:19 瀏覽:656
電腦硬體消息查詢腳本 發布:2025-03-16 16:22:39 瀏覽:866
寶馬五系降價取消了哪些配置 發布:2025-03-16 16:09:41 瀏覽:240
學班java 發布:2025-03-16 16:09:00 瀏覽:598
切金磚解壓 發布:2025-03-16 16:08:45 瀏覽:774
資料庫流向圖 發布:2025-03-16 16:08:14 瀏覽:36
sql存儲過程更新 發布:2025-03-16 16:08:13 瀏覽:162