Nginx核心知识100讲

反向代理

负载均衡策略 round-bobin 算法, 依次轮训, 挨个进行

  • weight 权重, 默认1
  • max_conns server的最大并发连接数, 仅作用于单worker
  • max_fails 在 fail_timeout 时间段内, 最大的失败次数. 当达到最大失败时候, 会在 fail_timeout 秒内这台server 不允许再次被选中
  • fail_timeout 单位时间秒, 默认10秒. 指定一段时间内, 最大是吧次数 max_fails. 到达 max_fails后, 该server不能访问的时间

对上游(比如tomcat)服务使用 keepalive 长连接

proxy_http_version 1.1; # 1.0 不支持长链接, 所以重置下, 为1.1
proxy_set_header Connection "";

upstream rrups {
    server 127.0.0.1:8011 weight=2 max_conns=2 max_fails=2 fail_timeout=5;
    server 127.0.0.1:8012;
    keepalive 32;
}

server {
    server_name rrups.liuhonghe.me;
    error_log myerror.log info;

    location /{
        proxy_pass http://rrups;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
    }
}

负载均衡策略 ip_hash 算法

以ip为基础, 即使上游服务端挂了, 也会一直访问一台服务器

log_format  varups  ‘$upstream_addr $upstream_connect_time $upstream_header_time $upstream_response_time ‘
                        ‘$upstream_response_length $upstream_bytes_received ‘
                        ‘$upstream_status $upstream_http_server $upstream_cache_status‘;

upstream iphashups {
    #ip_hash;
    # curl -H ‘X-Forwarded-for: 192.168.1.100 iphash.liuhonghe.me?username=abcdefg‘
    hash user_$arg_username; # 使用特定字符串作为hash, 除非username更改, 否则不会更改
    server 127.0.0.1:8011 weight=2 max_conns=2 max_fails=2 fail_timeout=5; # 使用ip_hash 后权重不生效
    server 127.0.0.1:8012 weight=1;
}

server {
    set_real_ip_from  116.62.160.193;
    real_ip_recursive on;
    real_ip_header X-Forwarded-For;
    server_name iphash.liuhonghe.me;
    error_log myerror.log info;
    access_log logs/upstream_access.log varups;

    location /{
        proxy_pass http://iphashups;
        proxy_http_version 1.1;
            proxy_set_header Connection "";
    }
}
 

以上所述就是小编给大家介绍的《nginx 核心知识100讲笔记(二)》,希望对大家有所帮助

原文地址:https://www.cnblogs.com/it-chen/p/11661413.html

时间: 2024-08-30 09:23:37

Nginx核心知识100讲的相关文章

Java并发编程核心知识体系精讲

第1章 开宗明义[不看错过一个亿]本章一连串设问:为什么学并发编程?学并发编程痛点?谁适合学习本课?本课程包含内容和亮点?首先4大个理由告诉你为什么要学,其实源于JD岗位要求就不得不服了.其次5个痛点+12个亮点,是否说服你要死磕Java并发编程呢?... 第2章 跨越第一座山“线程八大核心”[适用于纵观全貌]八大核心-序章.从本章开始将带你攻克并发编程领域的“第一座大山”:多线程八大核心. 第3章 核心1:实现多线程的正确姿势[解读官方文档,够权威]相信很多小伙伴经常在各大技术博客或者论坛甚至

Java并发编程核心知识体系精讲 完整版

第1章 开宗明义[不看错过一个亿]本章一连串设问:为什么学并发编程?学并发编程痛点?谁适合学习本课?本课程包含内容和亮点?首先4大个理由告诉你为什么要学,其实源于JD岗位要求就不得不服了.其次5个痛点+12个亮点,是否说服你要死磕Java并发编程呢?... 第2章 跨越第一座山“线程八大核心”[适用于纵观全貌]八大核心-序章.从本章开始将带你攻克并发编程领域的“第一座大山”:多线程八大核心. 第3章 核心1:实现多线程的正确姿势[解读官方文档,够权威]相信很多小伙伴经常在各大技术博客或者论坛甚至

[转帖]一文读懂分布式架构知识体系(内含超全核心知识大图)

一文读懂分布式架构知识体系(内含超全核心知识大图) https://yq.aliyun.com/articles/721007?spm=a2c4e.11153959.0.0.2f464977X7lSdH 作者 | 晓土  阿里巴巴高级工程师 姊妹篇阅读推荐:<云原生时代,分布式系统设计必备知识图谱(内含22个知识点)> 导读:本文力求从分布式基础理论.架构设计模式.工程应用.部署运维.业界方案这几大方面,介绍基于 MSA(微服务架构)的分布式知识体系大纲,从而对 SOA 到 MSA 进化有着立

nginx平台初探(100%)

http://tengine.taobao.org/book/chapter_02.html 初探nginx架构(100%)¶ 众所周知,nginx性能高,而nginx的高性能与其架构是分不开的.那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧. nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程.我们也可以手动地关掉后台模式,让nginx在前台运行,并且通过配置让nginx取消master进程,从而

nginx -- nginx平台初探(100%)

初探nginx架构(100%) 众所周知,nginx性能高,而nginx的高性能与其架构是分不开的.那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧. nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程.我们也可以手动地关掉后台模式,让nginx在前台运行,并且通过配置让nginx取消master进程,从而可以使nginx以单进程方式运行.很显然,生产环境下我们肯定不会这么做,所以关闭后台模式,一般是

网络基础知识、ASP.NET 核心知识(1)*

为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发人员,你所开发的软件产品最终是要在网络上运行的.这就像一个生产商,要生产供给东北地区的产品,而生产商对东北的天气.地理.人文毫无了解.生产商的产品肯定是不可用的,或者低端的!产品质量不好,那是自然的.产品质量好,那算你点儿高.那么作为ASP.NET开发人员,如果一点不懂http协议.不晓得Ajax.

【nginx】【转】Nginx核心进程模型

一.Nginx整体架构 正常执行中的nginx会有多个进程,最基本的有master process(监控进程,也叫做主进程)和woker process(工作进程),还可能有cache相关进程. 一个较为完整的整体框架结构如图所示: 二.核心进程模型 启动nginx的主进程将充当监控进程,而由主进程fork()出来的子进程则充当工作进程. nginx也可以单进程模型执行,在这种进程模型下,主进程就是工作进程,没有监控进程. Nginx的核心进程模型框图如下: master进程 监控进程充当整个进

给你一份Spring Boot核心知识清单①-1

预警:本文非常长,建议先mark后看,也许是最后一次写这么长的文章 由于51博客对文章字符数的限制,不得已分成两篇文章 说明:前面有4个小节关于Spring的基础知识,分别是:IOC容器.JavaConfig.事件监听.SpringFactoriesLoader详解,它们占据了本文的大部分内容,虽然它们之间可能没有太多的联系,但这些知识对于理解Spring Boot的核心原理至关重要,如果你对Spring框架烂熟于心,完全可以跳过这4个小节.正是因为这个系列的文章是由这些看似不相关的知识点组成,

Hadoop新手学习指导之hadoop核心知识学习

上篇(Hadoop新手学习指导之入门需知)我们介绍了新手学习hadoop的入门注意事项.这篇来谈谈hadoop核心知识学习. hadoop核心知识学习: hadoop分为hadoop1.X和hadoop2.X,并且还有hadoop生态系统.这里只能慢慢介绍了.一口也吃不成胖子. 那么下面我们以hadoop2.x为例进行详细介绍: Hadoop的核心是mapreduce和hdfs. Mapreduce:mapreduce是很多人都需要迈过去的槛,它比较难以理解,我们有时候即使写出了mapreduc