Nginx常用命令、反向代理以及负载均衡

        

        反向代理1

        在nginx中进行请求转发的配置

      进入nginx 配置文件 conf/conf.d文件夹

 vi编辑 default.conf (我这里使用xftp把配置文件拖到桌面上就行修改配置的)

        修改内容如下: 其中192.168.152.128是我nginx服务器IP,http://192.168.152.1:8002/是我springboot工程的访问路径

      proxy_pass  后面如果是服务器不加/,如果包含路径要加/列如

        proxy_pass  http://192.168.152.1:8080

        proxy_pass  http://192.168.152.1:8080/login/

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
            proxy_pass	http://192.168.152.1:8002/;
        }
    location ~ /edu/  {
        proxy_pass      http://myserver;
        root   /usr/share/nginx/html;
        index  index.html index.htm;
     }
    location /www/ {
        root   nginx;
        index  index.html index.htm;
    }
    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

反向代理多台服务器

   同样也是修改default.conf配置文件

    location ~ /edu/ {
        proxy_pass      http://192.168.152.1:8081;
    }

    location ~ /vod/ {
        proxy_pass      http://192.168.152.1:8082;
    }

  在这里我们使用到了location指令、

location [=|~|~*|^~] url{
}

= 用于不含正则表达式的url前,要求请求字符串与url严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。

~ 用于表示url包含正则表达式,并且区分大小写。

~* 用于表示url包含正则表达式,并且不区分大小写。

^~开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。

nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)

注意:如果url包含正则表达式,则必须要有~或者~*标识

  配置完成以后重启nginx 来演示一下

 

 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器

负载均衡

负载均衡技术是将大量的客户端请求通过特定的策略分配到集群中的节点,实现快速响应的应用技术。在应对高并发的应用请求时,单节点的应用服务计算能力有限,无法满足客户端的响应需求,通过负载均衡技术,可以将请求分配到集群中的多个节点中,让多个节点分担高并发请求的运算,快速完成客户端的请求响应

   负载均衡策略

1.轮询 (默认方式)

    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除

  修改配置文件    vi nginx.conf

        添加以下内容

  upstream myserver{
        server  192.168.152.1:8081;
        server  192.168.152.1:8083;
    }

    在回到default.conf配置文件

   location ~ /edu/  {
        proxy_pass      http://myserver;
        root   /usr/share/nginx/html;
        index  index.html index.htm;
     }

myserver 是自定义的名称 proxy_pass后面的myserver要前后对应

 weight 权重策略

        weight代表权重,默认为1,权重越高被分配的客户端请求越多

upstream myserver{
        server  192.168.152.1:8081 weight=2;
        server  192.168.152.1:8082 weight=1;
    }

ip_hash:

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

upstream myserver{
        ip_hash;
        server  192.168.152.1:8081;
        server  192.168.152.1:8082;
    }

fair第三方(需要安装nginx-upstream-fair)

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

   upstream myserver{
       server  192.168.1.13:8081;
       server  192.168.1.13:8082;
        fair;
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值