配置nginx到后端服务器负载均衡

简介:

nginx和haproxy一样也可以做前端请求分发实现负载均衡效果,比如一个tomcat服务如果并发过高会导致处理很慢,新来的请求就会排队,到一定程度时请求就可能会返回错误或者拒绝服务,所以通过负载均衡使用多个后端服务器处理请求,是比较有效的提升性能的方法;另外当单机性能优化到一定瓶颈之后,一般也会用负载均衡做集群,配置也很简单,下面是配置过程:

  首先需要安装nginx服务器,我这里已经安装好了,比如这里有三个tomcat服务器,地址如下:

  192.168.1.23 8080

       192.168.1.24 8080

       192.168.1.25 8080

  其中nginx安装在192.168.1.23上面,如果只有一个服务器测试,也可以在一个服务器上运行多个tomcat开多个端口来实现,这样也能提升性能

  首先看nginx配置,在nginx.conf中http {}块内并且server {}块之外添加如下配置:

    upstream  my_service {
        server    127.0.0.1:8080  weight=2;
        server    192.168.1.24:8080  weight=1;
        server    192.168.1.25:8080  weight=1;  
    }

  上面的my_service是集群的名字,可以自己命名,server指定后端服务列表,weight是设置权重,权重越大,请求被分发过来的可能性就越大,这里本机权重设置了2,也就是说对到达的请求分配到本地上的会多一些

  配置这个之后,需要在server {}中添加location配置拦截请求并转发给后端的集群,最简单的配置如下:

location / {
    proxy_pass http://my_service;
    proxy_redirect default;
}

  这样配置之后保存并重新载入,然后对于所有的请求都会转发到这个集群指定的机器处理了,当然也可以设置拦截具体的请求比如.do或者.action都可以根据需要设置;另外location里面也可以设置更多的配置项,比如客户端body大小,buffer大小,超时时间等,配置参考如下:

复制代码
location / {
    proxy_pass http://my_service;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    client_max_body_size 10m;
    client_body_buffer_size 128k;
    proxy_connect_timeout 90;
    proxy_send_timeout 90;
    proxy_read_timeout 90;
    proxy_buffer_size 4k;
    proxy_buffers 4 32k;
    proxy_busy_buffers_size 64k;
    proxy_temp_file_write_size 64k;
}  
复制代码

  上面的配置可以参考,根据具体业务需要配置即可,nginx负载均衡的配置基本上就是上面这些

本文转自SanMaoSpace博客园博客,原文链接:http://www.cnblogs.com/freeweb/p/6513973.html,如需转载请自行联系原作者


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
4月前
|
缓存 负载均衡 JavaScript
Nginx:高性能Web服务器与反向代理利器
Nginx:高性能Web服务器与反向代理利器
304 110
|
4月前
|
负载均衡 Cloud Native 前端开发
Nginx:高性能的Web服务器与反向代理利器
Nginx:高性能的Web服务器与反向代理利器
219 100
|
4月前
|
缓存 负载均衡 前端开发
Nginx:高性能Web服务器的核心力量
Nginx:高性能Web服务器的核心力量
254 100
|
4月前
|
缓存 负载均衡 前端开发
Nginx:高性能的Web服务器与反向代理利器
Nginx:高性能的Web服务器与反向代理利器
279 99
|
4月前
|
负载均衡 前端开发 安全
Nginx:高性能的Web服务器与反向代理利器
Nginx:高性能的Web服务器与反向代理利器
256 98
|
4月前
|
缓存 负载均衡 前端开发
Nginx:高性能Web服务器的核心引擎
Nginx:高性能Web服务器的核心引擎
248 99
|
2月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
|
4月前
|
缓存 负载均衡 前端开发
Nginx:高性能Web服务器的核心引擎
Nginx:高性能Web服务器的核心引擎
193 47
|
3月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
285 18
|
3月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
375 17