Nginx

2020/11/27 posted in  Nginx

Nginx-概述

适用场景

  1. 反向代理服务(集群)
    • 容灾:负载均衡
    • 不变的动态资源:缓存
  2. 静态资源服务
    • 图片,js:静态资源
  3. API服务
    • Nginx 直接访问数据库服务,或者是应用服务,防火墙

背景

  1. 互联网数据快速增长:物联网
  2. 摩尔定律:性能提升
  3. 低效的Apache:一个连接对应一个进程(进程间切换,无法提供更多进程)

优点

  1. 高并发,高性能
  2. 可扩展性
  3. 高可靠性
  4. 热部署
  5. BSD许可

组成

配置语法

  1. 配置文件由指令和指令块构成
  2. 每条指令由;结束,指令和参数之间以空格符分割
  3. 指令块用{}将多个指令集合成指令块
  4. include 语句允许组合多个配置文件,提高可维护性
  5. 使用#注释
  6. 使用$使用变量
  7. 部分指令的参数支持正则表达式

语法示例

http{
    include  minie.types;
    upstream isaac{
        server 127.0.0.1:8080;
    }
    server {
        listen 443 http2;
        #Nginx配置语法#
        limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
        location -* \.(gif|jpg|jpeg)$ {
            proxy_cache my_cache;
            expires 3m;proxy_cache_key $host$uri$is_args$args;
            proxy_cache_valid 200 304 302 ld;
            proxy_pass http://isaac;
        }
    }
}
配置参数:时间

配置参数:指令块

  1. http:所有指令都是由http
  2. server: 一个域名
  3. location:url表达式
  4. upstream:上游服务
参考

极客时间-Nginx核心知识100讲