nginx 配置
编辑Nginx配置文件:
linux:Nginx的配置文件通常位于/etc/nginx/nginx.conf
,但也可能在/etc/nginx/conf.d/
目录下的某个文件中
windows:打开文件夹找到 nginx.conf 文件
1:配置普通的ip端口转发: 只需新增server模块
server { listen 4210; #配置负载均衡服务器的端口 注意端口是未使用的 server_name localhost; #负载均衡服务器的域名或者ip(localhost)地址 location / { proxy_pass http://xxxx.00.cn:81; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
通过以上的配置可以实现 访问 localhost:4210 时实际访问的是 xxxx.00.cn:81
2:通过nginx配置服务器集群,实现多服务器的负载均衡访问
先定义后端服务器组:
http { upstream backend { server backend1.example.com weight=1; server backend2.example.com weight=2; # 可以继续添加更多服务器 } # 其他http配置... }
backend1.example.com 为后端服务器集群的单台服务器地址,如果服务器是通过IP地址指定的,可以这样做:
upstream backend { server 192.168.1.100 weight=1; server 192.168.1.200 weight=2; # 可以继续添加更多服务器 }
然后配置服务器块以代理请求:
在server
块中,使用location
指令来匹配请求,并使用proxy_pass
指令将请求代理到之前定义的后端服务器组。
server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 其他代理配置... } # 其他server配置... }
Nginx提供了多种负载均衡算法,包括:
- 轮询(Round Robin):默认算法,按顺序将请求分发到每个后端服务器。
- 最少连接数(Least Connections):将请求发送到当前连接数最少的后端服务器。
- IP哈希(IP Hash):根据客户端的IP地址将请求分发到后端服务器,确保相同IP的客户端每次访问都会被发送到同一台后端服务器。
- 权重(Weight):根据配置的权重分发请求,权重高的服务器将接收更多的请求。
要在配置中使用这些算法,只需在upstream
块中添加相应的指令。例如,使用IP哈希算法:
upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
# 可以继续添加更多服务器
}
保存配置文件并重启Nginx