• CentOS8 下Nginx使用教程


    1、nginx安装

    dnf install nginx -y

    2、nginx常用目录

    nginx.conf目录:/etc/nginx.nginx.conf

    nginx启动目录:/usr/sbin/nginx

    3、nginx热部署

    所谓热部署,就是配置文件nginx.conf修改后,不需要stop Nginx,不需要中断请求,就能让配置文件生效!

    /usr/sbin/nginx -s reload

    4、配置nginx 访问资源目录

    修改 nginx.conf 配置文件,在service标签内部加入下面的location,通过访问 ip地址:端口/source 就能访问  /home/source  目录了。

    location /source {
      root /home;
      autoindex:on;
    }

    还可以有如下写法:

    location /source {
      alias /home/source;
      autoindex:on;
    }

    5、反向代理

    听着反向代理是不是很牛逼的事,实际上很容易理解:

    正向代理:A要访问C的地址,但是由于网络或是墙的问题,A不能直接访问到C,但是呢有个B可以访问C,A也可以访问B,那么A在访问C的时候通过B代理,这就是正向代理。
    A ---/---> C ;  A ------> B ; B ------> C ;那么 A ------> B ------> C

    反向代理:A要访问C的地址,但是由于网络或安全的问题,A不能直接访问到C,但是呢有个B可以访问C,A也可以访问B,那么A在访问C的时候通过B代理,这就是正向代理。
    A ---/---> C ;  A ------> B ; B ------> C ;那么 A ------> B ------> C

    通过上面的示例是不是觉得 正向代理和反向代理一样?

    对,确实原理一样,但是有有个明显的差别就是:

    在正向代理中 A访问C,A是明确知道C的地址(要想访问www.google.com)。B相当于是访问的介质。

    在反向代理中A访问C,A只知道B的地址不知道C的地址,当A访问B的时候由B请求C之后把请求结果返回给A。

    配置方法很简单:把root换成proxy_pass , 路径换成网络地址。

    location /WeChatApp {
      proxy_pass http://localhost:8878/;
    }

    6、负载均衡

    复制均衡听着是不是也很NB,其实原理也非常简单,因为由反向代理,A只用访问B就行了,那么至于B要访问多少个C那是可以配置的:

    比如说 由于用户量激增,需要新增服务器来部署应用应对并发访问,这时用户访问的还是B地址,只有配置B把请求分发给对台服务器应用,就能应对并发操作,这就是负载均衡。

    在server标签外面添加:

    upstream myserver{
        server http://192.168.1.40:8080; 
         server http://192.168.1.45:8480; 
    }

    在server标签内添加:

    location /WeChatApp {
      proxy_pass http://myserver;
    }

    这样就把请求分发到不同的应用去处理了。

    7、动静分离

    牛逼的名称又来了,动静分离就是把通过反向代理,针对不同的资源配置不同的访问方式。

    比如说查询用户列表需要查询数据库,需要组织返回的数据结构,这就是一个动态请求。
    比如要访问图片、pdf文件...这些静态资源这一个静态请求。

    那么针对不同的接口做不同的配置就实现了动静分离:

    # 访问  动态资源
    location /WeChatApp {
      proxy_pass http://localhost:8878/;
    }
    
    #访问 /home/image 静态资源目录
    location /image {
      root /home;
      autoindex:on;
    }

    8、高可用的集群

    通过nginx做代理 进行负载均衡就会出现一个问题,就是nginx服务器挂掉之后,它代理的接口地址都不能访问了。

    为了解决这个问题就需要配置一个高可以的集群,原理很简单,就是在另一台服务器其上部署一个相同配置的nginx服务器,这样主nginx服务器挂掉之后,副的nginx服务器补上。

    主流方案是Keepalived+Nginx实现双机热备。

  • 相关阅读:
    SQL Server 中关于EXCEPT和INTERSECT的用法
    SQL SERVER 索引中聚集索引分析和Transact-SQL语句优化
    DATEDIFF() 返回2个日期之间的间隔
    CharIndex()
    poj1470 Closest Common Ancestors [ 离线LCA tarjan ]
    2014 蓝桥杯 预赛 c/c++ 本科B组 第九题:地宫取宝(12') [ dp ]
    hdu 2438 Turn the corner [ 三分 ]
    poj 3295 Tautology [ 栈 ]
    hdu 4923 Room and Moor [ 找规律 + 单调栈 ]
    1597: [Usaco2008 Mar]土地购买 [ dp+斜率优化 ] 未完
  • 原文地址:https://www.cnblogs.com/easyidea/p/14191811.html
Copyright © 2020-2023  润新知