Nginx做NodeJS應(yīng)用負(fù)載均衡配置實(shí)例
負(fù)載均衡可以把用戶的請(qǐng)求分?jǐn)偟蕉鄠€(gè)服務(wù)器上進(jìn)行處理,從而實(shí)現(xiàn)了對(duì)海量用戶的訪問(wèn)支持。負(fù)載均衡的架構(gòu)如圖所示:
對(duì)于復(fù)雜的Web應(yīng)用來(lái)說(shuō),用Nginx做前端負(fù)載均衡是理所當(dāng)然的事。
下面,我們用Nginx做NodeJS應(yīng)用的負(fù)載均衡。
1、配置Nginx
修改nginx.conf:
upstream sample { server 127.0.0.1:3000; server 127.0.0.1:3001; keepalive 64; } server { listen 80; .... server_name 127.0.0.1; .... location / { proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_set_header Connection ""; proxy_http_version 1.1; proxy_pass http://sample; } }
這里在3000端口和3001端口各有一個(gè)Node.js服務(wù)器,這兩個(gè)服務(wù)器在做同樣的工作。在upstream節(jié),配置了兩個(gè)Node.js服務(wù)器。此外,我們還設(shè)置了proxy_pass http://sample做HTTP請(qǐng)求代理。
2、構(gòu)建NodeJS服務(wù)器
var http = require('http'); var morgan = require('morgan'); var server1 = http.createServer(function (req, res) { console.log("Request for: " + req.url + "-- port 3000 "); res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Node.js\n'); }).listen(3000, "127.0.0.1"); var server2 = http.createServer(function (req, res) { console.log("Request for: " + req.url + "-- port 3001 "); res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Node.js\n'); }).listen(3001, "127.0.0.1"); server1.once('listening', function() { console.log('Server running at http://127.0.0.1:3000/'); }); server2.once('listening', function() { console.log('Server running at http://127.0.0.1:3001/'); });
3、訪問(wèn)Nginx服務(wù)器
現(xiàn)在我們可以訪問(wèn)http://127.0.0.1
可以看到如下的輸出:
Server running at http://127.0.0.1:3000/ Server running at http://127.0.0.1:3001/ Request for: /-- port 3001 Request for: /favicon.ico-- port 3000 Request for: /favicon.ico-- port 3001 Request for: /-- port 3000 Request for: /favicon.ico-- port 3001 Request for: /favicon.ico-- port 3000 Request for: /-- port 3001 Request for: /favicon.ico-- port 3000 Request for: /favicon.ico-- port 3001 Request for: /-- port 3000 Request for: /favicon.ico-- port 3001 Request for: /favicon.ico-- port 3000
- nginx 作為反向代理實(shí)現(xiàn)負(fù)載均衡的例子
- Nginx負(fù)載均衡的4種方案配置實(shí)例
- windows安裝nginx部署步驟圖解(反向代理與負(fù)載均衡)
- Nginx+Windows負(fù)載均衡配置方法
- 詳解Nginx服務(wù)器之負(fù)載均衡策略(6種)
- windows使用nginx實(shí)現(xiàn)網(wǎng)站負(fù)載均衡測(cè)試實(shí)例
- Nginx 安裝筆記(含PHP支持、虛擬主機(jī)、反向代理負(fù)載均衡)
- 在Nginx服務(wù)器中配置針對(duì)TCP的負(fù)載均衡的方法
- linux服務(wù)器之LVS、Nginx和HAProxy負(fù)載均衡器對(duì)比總結(jié)
- Nginx配置Tcp負(fù)載均衡的方法
相關(guān)文章
WinPC搭建nginx服務(wù)器的實(shí)現(xiàn)步驟
本文主要介紹了WinPC搭建nginx服務(wù)器的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01Nginx服務(wù)器中配置非80端口的端口轉(zhuǎn)發(fā)方法詳解
這篇文章主要介紹了Nginx服務(wù)器中配置非80端口的端口轉(zhuǎn)發(fā)方法詳解,文中使用到了Nginx中的proxy_pass配置項(xiàng),需要的朋友可以參考下2016-04-04Nginx中default_server指令問(wèn)題詳解
nginx 的 default_server 指令可以定義默認(rèn)的 server 出處理一些沒(méi)有成功匹配 server_name 的請(qǐng)求,下面這篇文章主要給大家介紹了關(guān)于Nginx中default_server指令問(wèn)題的相關(guān)資料,需要的朋友可以參考下2022-12-12nginx訪問(wèn)日志并刪除指定天數(shù)前的日志記錄配置方法
這篇文章主要介紹了nginx訪問(wèn)日志并刪除指定天數(shù)前的日志記錄配置方法,需要的朋友可以參考下2014-03-03nginx強(qiáng)制使用https訪問(wèn)的方法(http跳轉(zhuǎn)到https)
這篇文章主要介紹了nginx強(qiáng)制使用https訪問(wèn)的方法(http跳轉(zhuǎn)到https),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-01-01nginx 開(kāi)啟 pathinfo的過(guò)程詳解
這篇文章主要介紹了nginx 開(kāi)啟 pathinfo的過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08