nginx学习记录-负载均衡-基本配置

admin2024-04-03  0

1. 负载均衡

nginx提供反向代理时如果是一个集群(如图,三台服务器提供同样的服务)的话,我们希望所有的访问请求能够均匀地分配给每个应用服务器,而不是说,只有服务器A在提供请求,而B和C不做任何事情,这就叫负载均衡。

nginx学习记录-负载均衡-基本配置,第1张

2. nginx配置负载均衡

在nginx中增加如下配置:

nginx学习记录-负载均衡-基本配置,第2张

upstream test表示上游的两个服务器,proxy_pass表似乎代理到上游的两个服务器

3. 基本例子

这里配置三台服务器,一台是nginx服务器,两台作为集群(可以简化到两台)。不过,这里没必要每台机器都装一个nginx。通过如下代码搭建一个简单的http服务,在不同的机器上分别运行这个服务(注意,响应信息记得换下,以区分不同机器的http服务)

const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('192.168.66.1: hello, nginx');  // 这里的响应信息换成自己想要的响应信息
});

server.listen(88, () => {
  console.log('Server is running on port 88');
});

在两台机器上运行该代码:node test.js

nginx学习记录-负载均衡-基本配置,第3张

运行后,我们访问nginx服务器的地址:192.168.66.129,不断刷新浏览器,会发现浏览器在以下两个界面不断切换:

nginx学习记录-负载均衡-基本配置,第4张

nginx学习记录-负载均衡-基本配置,第5张

这里现象和浏览器可能有点关系,用Microsoft Edge无法观测到这一现象,用火狐可以,原因暂时不明确,有知道原因的欢迎留言~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!