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并不能完全保证同一个客户端总是由同一
个服务器来处理。