Nginx反向代理和负载均衡

一、Nginx反向代理设置 从80端口转向其他端口
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,
并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
进入nginx/conf目录下,修改nginx.conf文件
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;   //监听80端口
        server_name  127.0.0.1:8090;    //转发到哪个地址
        location / {
            proxy_pass   http://127.0.0.1:8090;   //代理到哪个地址
        }
    }
}

二、Nginx负载均衡

Nginx通过upstream模块来实现简单的负载均衡

n 在upstream块内,定义一个服务器列表,默认的方式是轮询,如果要确定同一个

访问者发出的请求总是由同一个后端服务器来处理,可以设置ip_hash,如:

upstream myproject{
     ip_hash
     server 127.0.0.1:9080 weight=5;
     server 127.0.0.1:8080 weight=5;
     server 127.0.0.1:1111;
}

server { 
    listen 80; 
    server_name test.com;
    location / { 
          proxy_pass http://myproject; 
    } 
}

  

请注意:这个方法本质还是轮询,而且由于客户端的ip可能是不断变化的,比如动

态ip,代理,FQ等等,因此ip_hash并不能完全保证同一个客户端总是由同一

个服务器来处理。