Nginx笔记

  1. 基本信息
  2. 基本操作
  3. 问题
    1. 这和用程序起一个服务有什么区别呢?
  • 功能
    1. 动静态资源分离
    2. 负载均衡
  • 实现打点计数
  • 实现负载均衡和端口代理
  • 基本信息

    nginx是web服务器,性能高,并发性好。

    可以用作代理服务器。

    正向:直接转发

    反向:分发请求

    基本操作

    nginx -s reload 重新加载

    问题

    这和用程序起一个服务有什么区别呢?

    语言自带类库实现的服务器比较简单。nginx是专业的,更强大。

    为了方便,应用服务器往往也会集成 HTTP Server 的功能,但是不如专业的 HTTP Server 那么强大,所以应用服务器往往是运行在 HTTP Server 的背后,执行应用,将动态的内容转化为静态的内容之后,通过 HTTP Server 分发到客户端。

    功能

    动静态资源分离

    运用Nginx的反向代理功能分发请求:所有动态资源的请求交给Tomcat,而静态资源的请求(例如图片、视频、CSS、JavaScript文件等)则直接由Nginx返回到浏览器,这样能大大减轻Tomcat的压力。

    负载均衡

    当业务压力增大时,可能一个Tomcat的实例不足以处理,那么这时可以启动多个Tomcat实例进行水平扩展,而Nginx的负载均衡功能可以把请求通过算法分发到各个不同的实例进行处理

    实现打点计数

    用到了服务器功能,和日志功能。

    服务器只返回一个像素的gif图,很高效。

    日志路径为”/usr/local/Cellar/nginx/1.15.0/logs”

    nginx.conf

    1
    2
    3
    4
    5
    server {
    location = /report {
    empty_gif;
    }
    }

    实现负载均衡和端口代理

    nginx运行在80端口,将请求分发到对应的端口上

    /etc/nginx/conf.d/name-port.conf

    把入口的流量转发到dappdemo

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26

    upstream dappdemo {
    server 127.0.0.1:3000;
    # down 表示单前的 server 暂时不参与负载
    server 127.0.0.1:8083 down;
    # weight 默认为 1 weight 越大,负载的权重就越大。
    server 127.0.0.1:8084 weight=3;
    # backup 其它所有的非 backup 机器 down 或者忙的时候,请求 backup机器。所以这台机器压力会最轻
    server 127.0.0.1:8002 backup;
    }

    server {

    listen 8080;
    # 匹配的入口
    server_name 127.0.0.1;

    location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Nginx-Proxy true;
    proxy_pass http://dappdemo;
    proxy_redirect off;
    }
    }

    文章标题:Nginx笔记

    本文作者:Benny

    发布时间:2020-06-08, 19:49:33

    最后更新:2019-10-09, 18:31:44

    原始链接:https://benny233.github.io/2020/06/08/Nginx笔记/

    版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

    目录