NGINX反向代理、动静结合

jopen 10年前

NGINX反向代理、动静结合

一、默认轮询模式

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

http {

    include       mime.types;

    default_type  application/octet-stream;

    #tcp_nopush     on;

    keepalive_timeout  65;

#反向代理的配置  这是配置的两台机器   可以是多台

upstream test{

server 192.168.136.139:80;

server 192.168.136.136:80;

}

server {

#端口号

        listen       80;

#域名

        server_name  localhost;

        #访问的一些配置

location / {

            root   html;

            index  index.html index.htm;

        }

#遇到错误跳转的文件

        error_page   500 502 503 504  /50x.html;

#访问的目录

        location = /50x.html {

            root   html;

        }

 

        location ~ \.php$ {

            proxy_pass   http://test;           后面不能加/http://test/是错误的

        }

#配置动静结合

location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$

{

#访问目录

    root /test/web;

    expires      3d;

}

}

二、weight权重轮询

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

例如:

 

upstream bakend {

server 192.168.159.10 weight=5;

server 192.168.159.11 weight=10;

}

三、ip_hash(基于ip的hash分配策略)

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

例如:

upstream resinserver{

ip_hash;

server 192.168.159.10:8080;

server 192.168.159.11:8080;

}

四、fair(第三方)基于服务响应式

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

upstream resinserver{

server server1;

server server2;

fair;

}