Nginx反向代理和负载均衡

时间:2022-08-14 11:56:40
一、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,代理,*等等,因此ip_hash并不能完全保证同一个客户端总是由同一
个服务器来处理。