nginx 负载均衡配置,和本地尝试展示,rewrite替换url路径实现带路径负载均衡,多location负载均衡。
首先前端用 node express 搭建简单服务器
具体参考express官网,npm init先创建出package.json
然后 npm i express -d
新建一个app.js,输入如下内容。
运行 node app.js
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World1!')
})
app.get('/test1', (req, res) => {
res.send('Hello World2!')
})
app.get('/test1/dodo1', (req, res) => {
res.send('Hello World5!')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
const express = require('express')
const app = express()
const port = 3001
app.get('/', (req, res) => {
res.send('Hello World3!')
})
app.get('/test1', (req, res) => {
res.send('Hello World4!')
})
app.get('/test1/dodo1', (req, res) => {
res.send('Hello World6!')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
两个服务好了 我们来简单说说负载均衡 网上大多都是复制粘贴,只适配/通配符的 如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream dalaoyang-server {
server localhost:10001;
server localhost:10002;
}
server {
listen 10000;
server_name localhost;
location / {
proxy_pass http://dalaoyang-server;
proxy_redirect default;
}
}
}
看着挺简单,直接就是把所有的请求统配到 localhost:10001和localhost:10002两个服务器,
没有设置权重weight 也没有ip_hash。但是我们实际应用的时候 可能需要的location不止这一个,
前端的匹配 到了 nginx也不是简单的一个通配符就可以解决的。
形如:
location ~^/doit {
rewrite ^/doit/(.*)$ /$1 break;
proxy_pass http//:192.168.0.1:3001/test1;
}
对此类负载均衡应该如何处理呢,其实大概一想就大概知道,如果我们要访问的是
localhost:8080/doit/dodo1。 到了nginx 会被从doit截断,保留/dodo1 与http//:192.168.0.1:3001/test1
拼接形成http//:192.168.0.1:3001/test1/dodo1;
那么负载均衡nginx进行配置:
upstream abc {
server localhost:3000 weight=10;
server localhost:3001 weight=10;
}
location ~^/doit {
rewrite /doit/(.*) /test1/$1;
proxy_pass http://abc;
}
整体思路:
- 首先启动最先配置的两个express工程
- nginx 配置负载均衡 abc,通过rewrite实现替换中间路径,满足多location的配置;
- 实现负载均衡常用工作配置;
实际效果如图:
效果可见;
欢迎评论区留言!
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgebhee
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01