Nginx负载均衡、location匹配
nginx的日志
- ```
- #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
- # '$status $body_bytes_sent "$http_referer" '
- # '"$http_user_agent" "$http_x_forwarded_for"';
- #access_log logs/access.log main;
- remote_addr 访问ip地址
- remote_user 访问的用户
- time_local 本地时间
- request 包括请求方式 请求地址 请求协议版本
- status 状态码
- body_bytes_sent 发送的大小
- http_user_agent 用户的请求头
- http_x_forwarded_for
- ```
禁止访问
- ```
- 可以写在server或者location里面
- deny 192.168.21.1;
- allow 192.168.21.131;
- deny 192.168.21.0/24;
- ```
反向代理
- 起到保护网站安全的作用
- 可以缓存静态文件
- 实现负载均衡 F5 A10 lvs haproxy nginx
- ```
- upstream django {
- server 192.168.21.128:81;
- }
- server {
- listen 80 default_server;
- listen [::]:80 default_server;
- server_name _;
- # Load configuration files for the default server block.
- include /etc/nginx/default.d/*.conf;
- location / {
- proxy_pass http://django;
- }
- ```
权重
weight
- ```
- upstream django {
- server 192.168.21.128:81 weight=3;
- server 192.168.21.131:81
- }
- server {
- listen 80 default_server;
- listen [::]:80 default_server;
- server_name _;
- # Load configuration files for the default server block.
- include /etc/nginx/default.d/*.conf;
- location / {
- proxy_pass http://django;
- }
- }
- 得到的结果是:
- 访问128的3次,才访问131的一次
- ```
ip_hash
每个请求的ip做hash运算,这样每个固定的访客都会被负载到后端固定的机器
- ```
- upstream django {
- ip_hash;
- server 192.168.21.128:81
- server 192.168.21.131:81
- }
- ```
backup
当前面的都访问不到,则请求backup的备份,只要有一个通,则不会走backup
- ```
- upstream django {
- server 192.168.21.128:81;
- server 192.168.21.131:81;
- server 192.168.21.131:82 backup;
- }
- ```
nginx location匹配规则
- ```
- location = / {
- 精确匹配/ ,后面不能带其他的东西
- [ configuration A ]
- }
- location / {
- 所有的以/开头的地址
- [ configuration B ]
- }
- location /documents/ {
- 只匹配/documents/
- [ configuration C ]
- }
- location ^~ /images/ {
- # 匹配以/images/开头。
- ~严格大小写
- [ configuration D ]
- }
- location ~* \.(gif|jpg|jpeg)$ {
- 以(gif|jpg|jpeg)结尾的文件
- ~* 不区分大小写
- [ configuration E ]
- }
- 优先级
- = > 完整路径 > ^~ > /
- ```
location分离
- ```
- server {
- listen 80 ;
- server_name www.taobao.com taobao.com;
- location / {
- proxy_pass http://192.168.21.131:82;
- }
- location ~*\.(jpg|gif|png)$ {
- root /data/img;
- }
- ```
status
- ```
- location /status {
- stub_status on;
- }
- ```
压缩
- ```
- gzip on
- 提高响应速度,节省带宽
- ```
Nginx负载均衡、location匹配的更多相关文章
- 浅谈Nginx负载均衡原理与实现
1.Nginx能做什么? Nginx可以两件事: -- HTTP请求 经过官方测试Nginx可以承受5万的并发量.可用来做静态资源的图片服务器 --负载均衡,如下解释什么是负载均衡. 2.负载均衡 ...
- nginx负载均衡简单配置
nginx负载均衡简单配置准备三台虚拟机来做这个实验:192.168.232.132 web服务器192.168.232.133 web服务器192.168.232.134 ...
- LVS+nginx负载均衡知识点1
lvs+nginx负载均衡 1 学习目标 掌握什么是负载均衡及负载均衡的作用和意义. 了解lvs负载均衡的三种模式. 了解lvs-DR负载均衡部署方法. 掌握nginx实现负载均衡的方法. ...
- Nginx系列一:正向代理和反向代理、Nginx工作原理、Nginx常用命令和升级、搭建Nginx负载均衡
转自https://www.cnblogs.com/leeSmall/p/9351343.html 仅供个人学习 一.什么是正向代理.什么是反向代理 1. 正向代理,意思是一个位于客户端和原始服务器( ...
- Nginx记录-nginx 负载均衡5种配置方式(转载)
nginx 负载均衡5种配置方式 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight 指定轮询几率,weight和访问比率成 ...
- lvs+nginx负载均衡
1 学习目标 掌握什么是负载均衡及负载均衡的作用和意义. 了解lvs负载均衡的三种模式. 了解lvs-DR负载均衡部署方法. 掌握nginx实现负载均衡的方法. 掌握lvs+nginx负载 ...
- nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理
Nginx除了可以用作web服务器外,他还可以用来做高性能的反向代理服务器,它能提供稳定高效的负载均衡解决方案.nginx可以用轮询.IP哈希.URL哈希等方式调度后端服务器,同时也能提供健康检查功能 ...
- nginx 负载均衡5种配置方式
nginx 负载均衡5种配置方式 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight 指定轮询几率,weight和访问比率成正比, ...
- nginx负载均衡实验
Nginx负载均衡概述 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现 ...
- nginx负载均衡、nginx ssl原理及生成密钥对、nginx配制ssl
1.nginx负载均衡 新建一个文件:vim /usr/local/nginx/conf/vhost/load.conf写入: upstream abc_com{ip_hash;server 61.1 ...
随机推荐
- LiveData的用法
一.实时数据LiveData 在上一节中,我们学习了ViewModel,了解到ViewModel的主要作用是存放页面所需要的各种数据.我们在示例代码中定义了接口,当数据发生变化的时候,采用接口的方式实 ...
- HTML5 postMessage 跨域跨窗口传递消息
父页面代码: <!DOCTYPE html> <html> <head> <title>选择位置demo</title> <meta ...
- 素数算法补充之"筛法"
国庆中秋双节,就不写太长的文章了. 补充和复习一下以前没写的素数区间筛法算法吧 部分证明过程来自OI wiki 素数筛法 如果我们想要知道小于等于 \(n\) 有多少个素数呢? 一个自然的想法是我们对 ...
- 【每日一题】15.Xorto (前缀和枚举)
补题链接:Here 题意:选取任意不重叠的两个区间,使异或结果为 \(0\) 样例:\(1,2,3,4,5,5\) 在样例中我们可以选取 \(1,2,3\) 和 \(5,5\) 就是满足题意 思路:相 ...
- 【每天一个不会秃头的前端案例】CSS + JS 实现早安,晚安动画
从橘子学姐那边学来的 早安,晚安动画(CSS + js) 成果展示 先看成果. 通过点击太阳实现日夜的动画平滑交替 Movie 这里就不多说什么了,直接贴一下代码 HTML部分 <!DOCTYP ...
- spring中这些编程技巧,真的让我爱不释手
前言 最近越来越多的读者认可我的文章,还是挺让人高兴的.有些读者希望我多分享spring方面的知识点,能够在实际工作中派的上用场.我对spring的源码有过一定的研究,结合我这几年实际的工作经验,把s ...
- GoLang 指针初探
1. 内置类型和引用类型 Go 中内置类型包括数值类型,字符串类型和布尔类型.引用类型包括切片,映射,通道,接口和函数类型.其中,引用类型表示创建的变量包含一个指向底层数据结构的指针和一组管理底层数据 ...
- STM32F429 实测基本数据类型占用空间
实测代码 1 void CalculateDataTypeSize(void) 2 { 3 printf("sizeof(char} = %u\r\n", sizeof(char) ...
- Java - 输出空心菱形
1. 思路:发现菱形的规律 ,定义三个变量,左边距和右边距,中间的边距 . 具体规律观察上图 . 2.上代码: //输出空心菱形 public class ForToLingXing { pub ...
- WebApi的输出结果重写 OnActionExecuted
public override void OnActionExecuted(ActionExecutedContext context) { if (context.Exception != null ...