美文网首页
【底层】-Nginx基础

【底层】-Nginx基础

作者: 大婶N72 | 来源:发表于2020-04-07 00:18 被阅读0次

    真正的稳定,是自己不断成长,不断寻找新的空间。与其要稳定,不如开始拥抱这个变化的时代,让自己准备好。


    python真的很好玩

    【目录】安全与网络实践

    【写在前面】:
    耳听为虚,实操为真
    【参考材料】:

    【Nginx是什么】

    1. Nginx是开源的、高性能的HTTP服务器和反向代理服务器;
    2. Nginx可以为反向代理进行负载均衡;
    3. Nginx基于事件架构驱动,模块化、跨平台。

    【Nginx怎么用】

    1. 正向代理
      举个简单例子,公司的私人电脑不允许访问外网,如果想访问外网只能走测试服务器,那私人电脑想访问外网怎么办?可以设置正向代理,即在浏览器中设置代理服务器(测试服务器),通过代理服务器代理访问外网。出发点是使用者主动去配置代理服务器。 正向向代理最大的特点是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息,结构如下图所示
    正向代理
    1. 反向代理
      举个简单例子,在tomcat中发布一个war包,我们可以直接访问这个tomcat,也可以通过一个代理服务器,由代理服务器去访问tomcat,而这个过程并不需要浏览器知道代理服务器,而是通过反向代理来实现。出发点是客户端不知道有代理服务器,代理服务器代理的是服务端。这个过程隐藏了真正处理业务的服务端信息。结构如下图所示:


      反向代理
    2. 负载均衡
      所谓负载均衡,就是将接受到的请求按照某种规则分摊到其他server上,达到减少单台server压力的作用。结构如下图所示

    负载均衡
    1. 负载均衡常用调度算法
      (1). 轮训(默认):即请求按照顺序逐一分配到服务器,这种方式可以给服务器设置权重(weight),用于跳转请求的分配率,权重越大,被分配到请求的几率越大;
      (2). ip_hash: 每个请求按照发起客户端的 ip 的 hash 结果进行匹配,这样的算法下一个固定 ip 地址的客户端总会访问到同一个后端服务器,这也在一定程度上解决了集群部署环境下 Session 共享的问题;
      (3). fair:智能调整调度算法,动态的根据后端服务器的请求处理到响应的时间进行均衡分配。响应时间短处理效率高的服务器分配到请求的概率高,响应时间长处理效率低的服务器分配到的请求少,它是结合了前两者的优点的一种调度算法。但是需要注意的是 Nginx 默认不支持 fair 算法,如果要使用这种调度算法,请安装 upstream_fair 模块。

    5.反向代理配置
    (1). 访问域名如何使其正确运行在指定的端口server上,结构如下图所示:

    域名到server

    (2). 上述测试使用Nginx进行反向代理HTTP请求实质有经过几个步骤。首先,访问www.test.com后,会进入hosts文件,寻到对应访问的IP地址(节省去了域名解析的时间)。而后请求变为127.0.0.1:80,而后借助Nginx中的代理配置,将请求代理到端口为8089的端口,即完成使用域名对127.0.0.1:8089的访问。
    (3). 具体nginx.conf的配置

    worker_processes  1;
    
    events {
       worker_connections  1024;
    }
    
    http {
       include       mime.types;
       default_type  application/octet-stream;
       sendfile        on;
       keepalive_timeout  65;
       #设定实际的服务器列表
       upstream ac_server{
           server 127.0.0.1:8089;
       }
       server {
           listen       80;
           server_name  www.test.com;
           location / {
               root   html;
               index  index.html index.htm;
           }
           error_page   500 502 503 504  /50x.html;
           location / {
               proxy_pass http://ac_server;
           }
       }
    }
    

    相关文章

      网友评论

          本文标题:【底层】-Nginx基础

          本文链接:https://www.haomeiwen.com/subject/tbtkphtx.html