❶ nodejs怎麼部署到伺服器上
伺服器推薦用nginx,配置簡單,性能強悍。
nginx可以使用代理訪問後端的Node.js應用伺服器。
配置方法:
1)在配置文件http段內容添加後端伺服器:
http {
#添加後端伺服器,和nginx負載均衡配置一樣
upstream nodejs {
server 127.0.0.1:8080;
}
...
}
2)給應用添加虛擬主機:
server {
listen 80;
server_nameIP
location / {
proxy_pass nodejs;#名字和前面的對應,將所有的請求轉發給後端的node
}
access_log logs/nodejs.access.log main;#如果需要日誌的話
}
推薦將靜態文件如css、js和圖片和應用伺服器分開。
❷ 如何在node.js搭建伺服器
准備
首先,需要安裝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;
dir = dir ? dir : pathname; // 記住dir(目錄)
pathname = dir ? pathname.replace(dir, dir + arg + '/') : pathname; // 替換文件靜態路徑
if (path.extname(pathname) == "") {
pathname += "/";
}
if (pathname.charAt(pathname.length - 1) == "/") {
pathname += "index.html"; // 入口文件,此處默認index.html
}
fs.exists(pathname, function (exists) {
if (exists) {
switch (path.extname(pathname)) {
case ".html":
res.writeHead(200, {"Content-Type": "text/html"});
break;
case ".js":
res.writeHead(200, {"Content-Type": "text/javascript"});
break;
case ".css":
res.writeHead(200, {"Content-Type": "text/css"});
break;
case ".gif":
res.writeHead(200, {"Content-Type": "image/gif"});
break;
case ".jpg":
res.writeHead(200, {"Content-Type": "image/jpeg"});
break;
case ".png":
res.writeHead(200, {"Content-Type": "image/png"});
break;
default:
res.writeHead(200, {"Content-Type": "application/octet-stream"});
}
// res可以自己添加信息來簡單交互 比如可以修改點header信息 或者修改返回的資源數據
fs.readFile(pathname, function (err, data) {
res.end(data);
});
}
else {
res.writeHead(404, {"Content-Type": "text/html"});
res.end("<h1>404 Not Found</h1>");
}
});
}).listen(8085, "127.0.0.5"); // 伺服器埠
console.log("server running at http://127.0.0.5:8085/");
啟動
當node安裝完成及上述server.js文件也新建好之後。將其與你要訪問的文件夾放在一起,可以放同層或者直接下層。比如,如果你要訪問d:\test\debug文件夾。
你可以先將當前文件放入同層或者直接下,然後輸入如下命令啟動web服務:
先打開`cmd`,進入server文件所在目錄,比如是`test`目錄;
然後輸入:`node server debug`(同層), 或者`node server`(子層),
此時會提示`server running at http://127.0.0.5:8085/`, 表示啟動服務成功;
最後打開瀏覽器,進入:`127.0.0.5:8085`,即可訪問此資源。
最後
簡單解釋下上面的代碼。
首先最上面的require表示需要用到那幾個模塊,先引用一下;
arg表示輸入的命令行的第三個參數,上面是做了手動截取;
createServer方法表示創建一個http服務,以函數為參數,本文代碼中傳入了一個匿名函數;
req,表示http request(請求)對象,其攜帶著來自客戶端此次http請求的相關信息,例如請求method、請求query參數、請求header頭信息等;
res,表示http response(返回)對象,用來給客戶端返回請求資源用,可以手動添加信息,例如返回的數據、返回的頭信息等、返回的code等;
fs,表示文件資源對象,具體可以訪問nodejs官網的api;
path,表示資源路徑對象,具體可以訪問nodejs官網的api。
listen表示創建的服務監聽,一旦訪問了此埠,將進入此前的匿名函數回調中,將資源返回給客戶端。
❸ 怎麼連接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 + " "
+ 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協議。
❹ 阿里雲伺服器怎麼運行node
看是什麼操作系統,下載對應的node安裝包安裝即可
❺ 如何使用nodejs快速搭建本地伺服器
1、如果電腦沒有安裝nodejs的同學可以先到node官方下載並安裝好node程序。
2、安裝好nodejs後驗證一下是否安裝成功!如果出現則表明node已經承裝安裝上去了!
3、安裝好node之後打開cmd 輸入 npm install anywhere -g 安裝anywhere ,然後等待直到出現以下界面。
4、然後瀏覽器就自動打開本地訪問網址,一個簡單的node伺服器就這樣被搭建好啦!
❻ nodejs是伺服器嗎
nodejs 不是伺服器,nodejs是JavaScript運行時的環境,在這個環境里可以運行js代碼。nodejs可以使用express之類的框架作為 web服務端,啟動web服務。
❼ nodejs寫伺服器怎麼樣
目前最主流的三個Web伺服器是Apache、Nginx、IIS。
Node.js 提供了 http 模塊,http 模塊主要用於搭建 HTTP 服務端和客戶端,使用 HTTP 伺服器或客戶端功能必須調用 http 模塊,代碼如下:
[javascript]view plain
varhttp=require('http');
在通常的伺服器中,數據流通的方式是客戶先通過瀏覽器進行發送請求,伺服器在項目中進行查找,然後進客戶所需要的頁面進行返回,在查找的過程中可能存在兩種情況,就是存在和不存在,當然,我們會做出判斷,下面就是簡單的伺服器實現過程:
1、編寫伺服器代碼server.js
[javascript]view plain
varhttp=require('http');
varfs=require('fs');
varurl=require('url');
//創建伺服器
http.createServer(function(request,response){
//解析請求,包括文件名
varpathname=url.parse(request.url).pathname;
//輸出請求的文件名
console.log("Requestfor"+pathname+"received.");
//從文件系統中都去請求的文件內容
fs.readFile(pathname.substr(1),function(err,data){
if(err){
console.log(err);
//HTTP狀態碼404:NOTFOUND
//ContentType:text/plain
response.writeHead(404,{'Content-Type':'text/html'});
}
else{
//HTTP狀態碼200:OK
//ContentType:text/plain
response.writeHead(200,{'Content-Type':'text/html'});
//寫會相應內容
response.write(data.toString());
}
//發送響應數據
response.end();
});
}).listen(8081);
console.log('Serverrunningathttp://127.0.0.1:8081/');
通過上面代碼,我們就能夠實現伺服器對於文件的查找,下面,我們就進行創建一個html文件,然後通過瀏覽器進行訪問
2、編寫html文件(index.html),用於瀏覽器進行請求
[html]view plain
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>index</title>
</head>
<body>
這是一個用於進行nodejs伺服器測試的html文件,我們能夠通過在瀏覽器上面輸入
http://127.0.0.1:8081/WebServer/index.html進行訪問
</body>
</html>
創建完之後,我們進行測試,現在我的目錄結構是這樣的:
❽ 怎麼使用nodejs搭建伺服器
下載安裝nodejs,然後用nodejs安裝express,按照express的教程裝好並運行就可以訪問了。node的http模塊也可以,不過需要自己寫很多代碼。
❾ nodejs 如何部署到伺服器上
跟你在本地開發是相同的。
1、安裝指定版本的node.js(伺服器基本軟體的安裝)
2、上傳代碼到伺服器(可以通過ftp、ssh、git等方式)
3、安裝項目依賴的模塊
>npminstall
4、啟動應用(也可以通過forever、pm2等工具進行管理)
>node./www/bin
當然,如果你深諳運維之道,可以直接通過docker等方案將運行環境容容器化。
基本的linux運維知識的話可以參考linuxprobe.com。
還有幾個需要注意的點:
1、運行許可權:注意做好應用之間的隔離(使用低許可權用戶、文件系統隔離等),避免應用崩潰導致系統宕機等風險
2、80埠:通過nginx等進行反向代理,應用本身佔用1024後的埠(無需root許可權)