首页 > 系统相关 >nginx配置负载均衡,nginx负载均衡404错误

nginx配置负载均衡,nginx负载均衡404错误

时间:2024-06-24 11:21:28浏览次数:3  
标签:负载 hash server nginx proxy 均衡 服务器

nginx在nginx.conf配置文件中通过upstream模块和server模块的配合使用,就可以实现负载均衡。
在http的 upstream模块中,可以通过 server指令指定后端服务器的IP地址和端口,同时还可以设定每个后端服务器在负载均衡调度中的状态。
常用的状态有:
weight:服务访问的权重,默认是1。
down:表示当前的server暂时不参与负载均衡。
backup:预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。
max_fails:在fail_timeout时间内,允许请求最大的失败次数,默认为1。当达到最大失败时,会在fail_timeout时间内不允许再次被选择。,返回 proxy_next_upstream 模块定义的错误。
fail_timeout:单位为秒,默认是10秒。指定一段时间内,请求经历了max_fails次失败后,该server不能访问的时间(暂停服务的时间)。max_fails可以和fail_timeout一起使用。
注意:当负载调度算法为ip_hash时,后端服务器在负载均衡调度中的状态不能是backup。
nginx负载均衡配置

http {
    # upstream模块:server_group_name 自定义服务组名
    upstream  server_group_name {
        # ip_hash和weight也可以配合使用
        ip_hash;
        # 最少连接
        # least_conn;
        # server指令指定后端服务器的IP地址和端口
        server    localhost:8080;
        server    192.168.xxx.xxx:8081 down;
        server    192.168.xxx.xxx:8082  max_fails=3  fail_timeout=20s;
        server    192.168.xxx.xxx:8083 weight=2;
    }
    # server模块
    server {
        listen       80;
        server_name  localhost;
        location / {
              # proxy_pass:代理转发,将单体服务http://127.0.0.1:80,改为服务组名
              proxy_pass http://server_group_name/;
              # proxy_redirect default;
              # 注意:如果遇到 nginx 配置了https upstream,然后访问跳转失败,直接报404,添加下面内容。
              proxy_set_header   Host             $host:$proxy_port;
              proxy_set_header   X-Real-IP        $remote_addr;
              proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
    }
}

防止程序代码中获取端口问题,配置代理端口 proxy_set_header   Host             $host:$proxy_port;
Nginx负载均衡分配策略介绍
1、轮询[默认]轮询方式是将所有请求按顺序轮流地分配到后端服务器上,它平等地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。
2、权重 weight。该策略会指定每个服务的权重比例,权重越高被分配的客户端(请求)也就越多,weight和访问比率成正比。主要用于后端服务器性能不均的情况。
3、ip_hash(哈希)该策略会按照每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器。有效解决了动态网页存在的session共享问题。
4、最少连接(least_conn)该策略会将请求分配到连接数最少的服务上。
5、第三方策略。Nginx支持集成第三方的策略插件。比如:
fair:依据页面大小和加载时间长短智能地进行负载均衡,即响应时间短的优先分配。下载安装 Nginx的upstream_fair模块。
url_hash:按访问 url的 hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。下载安装Nginx的hash软件包。
来源:https://blog.csdn.net/qq_42402854/article/details/133129825

标签:负载,hash,server,nginx,proxy,均衡,服务器
From: https://www.cnblogs.com/xsj1989/p/18264630

相关文章

  • nginx配置优化
    userwww;worker_processesauto;worker_cpu_affinityauto;worker_rlimit_nofile65535;#Nginx工作进程可以打开的最大文件描述符数量,查看系统文件描述符数再确认error_log/var/log/nginx/error.log;pid/run/nginx.pid;include/usr/share/nginx/modules/*.c......
  • Ubuntu下安装、运行Nginx
    安装Ubuntu桌面系统(虚拟机)_虚拟机安装ubuntu桌面版-CSDN博客默认情况下,Ubuntu并没有安装Nginx服务。用户可以使用以下命令安装Nginx服务及其相关的组件:liu@ubuntu:~$sudoaptinstallnginx安装完成之后,使用以下命令启用和启动Nginx服务:liu@ubuntu:~$sudosystemctlenab......
  • 在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
    在Linux中统计IP访问情况并分析Nginx访问日志,以找出访问页面数量在前十位的IP地址,可以通过一系列命令行工具高效完成。这里以一个典型的工作流程为例,说明如何进行这一分析:1.确定日志文件位置首先,需要知道Nginx的访问日志文件位置。通常,这个文件位于/var/log/nginx/access.log,但......
  • Nginx实操学习
    1.配置文件分析1.nginx官网nginx官网:http://nginx.org/en/nginx文档:http://nginx.org/en/docs/nginx官网(中文):http://nginx.p2hp.com/nginx文档(中文):http://nginx.p2hp.com/en/docs/index.html推荐看英文2.配置文件(带注释)#usernobody;worker_processes1;......
  • Nginx优化与防盗链
    一、隐藏版本号1.普通版[root@localhost~]#vim /usr/local/nginx/conf/nginx.confhttp{  include   mime.types;  default_type application/octet-stream;  server_tokensoff;   (隐藏版本号)查看信息:方法一[root@localhostconf]#......
  • Flash均衡读写
    #defineFLASH_INITIAL_BYTE0xff #definePAGE_NUM_PER_CONFIG       2 #defineCONFIG_FLASH_PAGE_START     508#defineCONFIG_BUF_SIZEsizeof(CFG_CHARGE_ST)/2#define  CONFIG_FLASH_ADDRESS_START......
  • nginx架构&&基本数据结构&&配置&&模块&&请求详解
    初探nginx架构众所周知,nginx性能高,而nginx的高性能与其架构是分不开的。那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧。nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。我们也可以手动地关掉后台模式,让ng......
  • Nginx-handler模块
    handler模块简介相信大家在看了前一章的模块概述以后,都对nginx的模块有了一个基本的认识。基本上作为第三方开发者最可能开发的就是三种类型的模块,即handler,filter和load-balancer。Handler模块就是接受来自客户端的请求并产生输出的模块。有些地方说upstream模块实际上也是一......
  • nginx-过滤模块
    过滤模块简介执行时间和内容过滤(filter)模块是过滤响应头和内容的模块,可以对回复的头和内容进行处理。它的处理时间在获取回复内容之后,向用户发送响应之前。它的处理过程分为两个阶段,过滤HTTP回复的头部和主体,在这两个阶段可以分别对头部和主体进行修改。在代码中有类似的函......
  • windows服务器上用nginx转发到iis中的网站
    windows服务器上用nginx转发到iis中的网站2024年6月23日测试通过前提:华为云1核心2G内存1M带宽服务器¥40/年,还没有备案,80端口用不了,在安全组里把81端口打开了,同时记得登录云服务器里把WINDOWS的防火墙关闭或者放行81端口想法:windows服务器里下载nginxwindows版本,然后所有请求......