当前位置: 首页 > news >正文

系列七、Nginx负载均衡配置

一、目标

        浏览器中访问http://{IP地址}:9002/edu/index.html,浏览器交替打印清华大学8080、清华大学8081.

二、步骤

2.1、在tomcat8080、tomcat8081的webapps中分别创建edu文件夹

2.2、将index.html分别上传至edu文件夹

        注意事项:tomcat8080的edu文件夹中的index.html的内容为"清华大学8080"、"清华大学8081",index.html模板如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>首页</title>
</head>
<body><p style="color: red;font-size: 30px" align="center">清华大学</p>
</body>
</html>

2.3、分别启动tomcat8080、tomcat8081

# 启动tomcat8080
/opt/tomcat/tomcat8080/apache-tomcat-8.5.63/bin
./startup.sh# 启动tomcat8081
/opt/tomcat/tomcat8081/apache-tomcat-8.5.63/bin
./startup.sh

2.4、测试

http://192.168.173.222:8080/edu/index.htmlhttp://192.168.173.222:8081/edu/index.html

2.5、修改nginx配置

worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  localhost;location / {root   html;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}# Nginx配置实例之反向代理2配置信息server {listen       9001;server_name  localhost;location ~ /basketball/ {proxy_pass http://127.0.0.1:8080;}location ~ /football/ {proxy_pass http://127.0.0.1:8081;}}# Nginx负载均衡配置upstream loadBalanceServer{server 127.0.0.1:8080;server 127.0.0.1:8081;}server {listen			9002;server_name		127.0.0.1;location / {proxy_pass	http://loadBalanceServer;}}}

注意事项:修改完nginx.conf后,需要重新加载nginx的配置信息

./nginx -s reload

2.6、测试

http://192.168.173.222:9002/edu/index.html

 

结果分析:通过上述配置,实现了负载均衡 

三、坑总结

坑1:配置完nginx的配置文件后,启动nginx如果出现下面的显示效果,说明upstream中配置的tomcat服务没有开启,需要开启才行。

 

坑2、tomcat服务启动了,nginx也启动了,如果不能实现负载均衡功能,很有可能是tomcat由于端口冲突问题导致的,此时需要修改server.xml中的端口。

Server:port、Connector  port、redirectPort。可以通过查看tomcat的日志查看具体的报错信息

四、负载均衡的其他配置

4.1、轮询(默认)

4.2、weight(按照权重分配)

weight 代表权重默认为 1,权重越高被分配的客户端越多。
指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。配置信息如下:upstream server_pool  {server 192.168.6.148 weight=10;server 192.168.6.149 weight=6;
}

4.3、ip_hash

每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。 例如:
upstream server_pool {ip_hash; server 192.168.5.21:80; server 192.168.5.22:80; 
}

4.4、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。upstream server_pool{ server 192.168.5.21:80; server 192.168.5.22:80; fair; 
}

http://www.lryc.cn/news/167519.html

相关文章:

  • Python爬虫(二十)_动态爬取影评信息
  • 基于 Flink CDC 高效构建入湖通道
  • redis的基础底层篇 zset的详解
  • 数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC...
  • Open3D(C++) 点云旋转的轴角表示法和罗德里格斯公式
  • CPU的三级缓存
  • pgzrun 拼图游戏制作过程详解(6,7)
  • laravel框架 - 集合篇
  • [npm]package.json文件
  • 联表查询 索引 事务 JDBC使用 CPU工作原理 线程概念 Thread类的用法
  • 学习格式化dedecms模版里格式化时间标签pubdate的方法
  • 用思维导图了解《骆驼祥子》的内容
  • js 不同域iframe 与父页面消息通信
  • c++ vs2019 cpp20规范 模板function 源码解析
  • 点云从入门到精通技术详解100篇-从全局到局部的三维点云细节差异分析(下)
  • 微信小程序中 vant weapp 使用外部的icon作为图标的步骤
  • [npm]脚手架本地全局安装1
  • 2023学习计划
  • 网络编程(一):服务器模型、Java I/O模型、Reactor事件处理模型、I/O复用
  • flyway适配高斯数据库
  • LVS keepalived实现高可用负载群集
  • HTTP RESTFul RPC
  • 短视频seo矩阵系统源码开发搭建--代用户发布视频能力
  • 真实的产品开发中,后端的设计规约可以写哪些
  • Pytorch 多卡并行(2)—— 使用 torchrun 进行容错处理
  • Java异常处理(详解)
  • 嵌入式-数据进制之间的转换
  • 腾讯mini项目-【指标监控服务重构】2023-08-20
  • 智能文本纠错API的应用与工作原理解析
  • 在springboot下将mybatis升级为mybatis-plus