美文网首页
Nginx学习

Nginx学习

作者: 背着耿鬼的蒜头 | 来源:发表于2021-05-13 15:59 被阅读0次

    nginx

    正向代理:用户通过代理服务器直接访问Internet,叫做正向代理。

    反向代理:用户将请求发送给代理服务器,代理服务器根据请求将请求转发到Internet中,得到请求后再返回给用户。

    负载均衡:通过反向代理服务器将请求分发到多个服务器中。

    动静分离:前后端分离。

    nginx常用命令

    #查看nginx版本号
    nginx -v
    #关闭nginx
    nginx -s stop
    #启动nginx
    nginx
    #重新加载nginx
    nginx -s reload
    

    nginx配置文件

    nginx配置文件由三部分组成

    第一部分:全局块

    从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行配置指令

    #此值越大,nginx处理并发的能力越强(会受到硬件的限制)
    work_processes 1;
    

    第二部分:events块

    影响nginx服务器与用户网络的连接

    #支持的最大连接数
    worker_connections 1024;
    

    第三部分:http块(包括server块和全局块)

    包括文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单链接请求数上限等

    server块

    #监听端口
    listen 80
    #请求跳转
    location / {
      root html;
      index.html index.htm;
    }
    

    nginx配置反向代理

    server {
      listen 80;
      server_name 127.0.0.1;
      
      location / {
        root html;
        #配置反向代理的位置
        proxy_pass http://127.0.0.1:8080;
        index index.html index.htm;
      }
    }
    
    server {
      listen 80;
      server_name 127.0.0.1;
      
      
      location ~ /login/ {
        #配置反向代理的位置
        proxy_pass http://127.0.0.1:8080;
      }
      
      location ~ /regist/ {
        #配置反向代理的位置
        proxy_pass http://127.0.0.1:8081;
      }
    }
    
    

    nginx 配置负载均衡

    upstream myserver{
      server [ip]:[port];
      server [ip]:[port];
    }
    
    server {
      listen 80;
      server_name 127.0.0.1;
      
      location / {
        root html;
        #配置反向代理的位置
        proxy_pass http://myserver;
        index index.html index.htm;
      }
    }
    

    负载均衡策略

    1、轮询(默认)

    按时间顺序逐一分配到不同的后端服务器,后端服务器down调,能自动剔除

    2、权重

    weight,权重越高,分配越多

    upstream myserver{
      server [ip]:[port] weight=5;
      server [ip]:[port] weight=10;
    }
    
    server {
      listen 80;
      server_name 127.0.0.1;
      
      location / {
        root html;
        #配置反向代理的位置
        proxy_pass http://myserver;
        index index.html index.htm;
      }
    }
    

    3、ip_hash

    每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题

    upstream myserver{
      ip_hash;
      server [ip]:[port];
      server [ip]:[port];
    }
    
    server {
      listen 80;
      server_name 127.0.0.1;
      
      location / {
        root html;
        #配置反向代理的位置
        proxy_pass http://myserver;
        index index.html index.htm;
      }
    }
    

    4、fair(第三方)

    按后端服务器的响应时间来分配,响应时间越短就优先分配

    upstream myserver{
      server [ip]:[port];
      server [ip]:[port];
      fair;
    }
    
    server {
      listen 80;
      server_name 127.0.0.1;
      
      location / {
        root html;
        #配置反向代理的位置
        proxy_pass http://myserver;
        index index.html index.htm;
      }
    }
    

    相关文章

      网友评论

          本文标题:Nginx学习

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