當前位置:首頁 » 雲伺服器 » 如何啟動node伺服器

如何啟動node伺服器

發布時間: 2024-02-28 11:14:12

1. 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

2. 如何用命令行開啟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;

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

4. 如何創建簡易node環境並使用

一、首先要安裝node, 然後打開cmd命令窗口檢測node是否安好:

查看cmd控制台,顯示 「有客戶端連接」
可在多個瀏覽器窗口中進行以上操作,每個瀏覽器窗口均會對應一次「有客戶端連接」

5. 怎麼連接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協議。

熱點內容
如何在手機設置上找到網路的密碼 發布:2024-11-30 00:18:29 瀏覽:413
和鷹加密鎖 發布:2024-11-30 00:17:17 瀏覽:555
C語言舞會 發布:2024-11-30 00:15:44 瀏覽:376
java下載我的世界 發布:2024-11-30 00:11:08 瀏覽:11
華三配置器升級失敗怎麼回事 發布:2024-11-30 00:09:23 瀏覽:841
汽車空調壓縮機壽命 發布:2024-11-30 00:06:04 瀏覽:566
電腦網路波動異常與伺服器失去連接 發布:2024-11-29 23:43:19 瀏覽:246
個人電腦與伺服器架構類似 發布:2024-11-29 23:40:59 瀏覽:704
計算型和存儲型伺服器 發布:2024-11-29 23:39:51 瀏覽:411
伺服器端如何殺客戶端進程 發布:2024-11-29 23:39:48 瀏覽:957