Nginx如何实现反向代理、负载均衡及故障转移的自动切换?

2026-05-22 12:281阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计447个文字,预计阅读时间需要2分钟。

Nginx如何实现反向代理、负载均衡及故障转移的自动切换?

Nginx下载官网:http://nginx.org/en/download.

Nginx帮助文档:http://nginx.org/en/docs/

一、负载均衡

Nginx的配置文件默认路径为+/etc/nginx/nginx.conf

1. 轮询(默认)

在http节点下添加以下配置:

confupstream myupstream { server server1.example.com; server server2.example.com; server server3.example.com;}

server { location / { proxy_pass http://myupstream; }}

nginx下载官网:nginx.org/en/download.html

nginx帮助文档:nginx.org/en/docs/

Nginx如何实现反向代理、负载均衡及故障转移的自动切换?

一、负载均衡

nginx的配置文件默认路径在/etc/nginx/nginx.conf

1、轮询(默认)

在xiaohemiao; } } upstream xiaohemiao { server 192.168.140.130:7777; # 应用端口7777 server 192.168.140.130:8888; # 应用端口8888 } 2、ip_hash一致性算法

保证每个访客固定访问一个后端服务器

在upstream节点添加如下配置即可

upstream xiaohemiao { ip_hash; server 192.168.140.130:7777; # 应用端口7777 server 192.168.140.130:8888; # 应用端口8888 } 3、least_conn最小活跃数算法

把请求转发给连接数较少的后端服务器,配置如下

upstream xiaohemiao { least_conn; server 192.168.140.130:7777; # 应用端口7777 server 192.168.140.130:8888; # 应用端口8888 } 4、weight权重

upstream xiaohemiao { server 192.168.140.130:7777 weight=5; # 应用端口7777 server 192.168.140.130:8888 weight=20; # 应用端口8888 } 二、故障转移

  • fail_timeout:与max_fails结合使用
  • max_fails:设置在fail_timeout参数设置的时间内最大失败次数,如果在这个时间内,所有针对该服务器的请求都失败了,那么认为该服务器会被认为是停机了
  • fail_time:服务器被认为停机的时间长度,默认为10s
  • backup:标记该服务器为备用服务器,当主服务停止时,请求会被发送到这台服务器

upstream xiaohemiao { server 192.168.140.130:7777 max_fails=2 fail_timeout=10s; # 应用端口7777 server 192.168.140.130:8888; # 应用端口8888 server 192.168.140.130:9999 backup; #备机,当7777、8888应用都宕机之后会自动转移请求到9999端口上 }

本文共计447个文字,预计阅读时间需要2分钟。

Nginx如何实现反向代理、负载均衡及故障转移的自动切换?

Nginx下载官网:http://nginx.org/en/download.

Nginx帮助文档:http://nginx.org/en/docs/

一、负载均衡

Nginx的配置文件默认路径为+/etc/nginx/nginx.conf

1. 轮询(默认)

在http节点下添加以下配置:

confupstream myupstream { server server1.example.com; server server2.example.com; server server3.example.com;}

server { location / { proxy_pass http://myupstream; }}

nginx下载官网:nginx.org/en/download.html

nginx帮助文档:nginx.org/en/docs/

Nginx如何实现反向代理、负载均衡及故障转移的自动切换?

一、负载均衡

nginx的配置文件默认路径在/etc/nginx/nginx.conf

1、轮询(默认)

在xiaohemiao; } } upstream xiaohemiao { server 192.168.140.130:7777; # 应用端口7777 server 192.168.140.130:8888; # 应用端口8888 } 2、ip_hash一致性算法

保证每个访客固定访问一个后端服务器

在upstream节点添加如下配置即可

upstream xiaohemiao { ip_hash; server 192.168.140.130:7777; # 应用端口7777 server 192.168.140.130:8888; # 应用端口8888 } 3、least_conn最小活跃数算法

把请求转发给连接数较少的后端服务器,配置如下

upstream xiaohemiao { least_conn; server 192.168.140.130:7777; # 应用端口7777 server 192.168.140.130:8888; # 应用端口8888 } 4、weight权重

upstream xiaohemiao { server 192.168.140.130:7777 weight=5; # 应用端口7777 server 192.168.140.130:8888 weight=20; # 应用端口8888 } 二、故障转移

  • fail_timeout:与max_fails结合使用
  • max_fails:设置在fail_timeout参数设置的时间内最大失败次数,如果在这个时间内,所有针对该服务器的请求都失败了,那么认为该服务器会被认为是停机了
  • fail_time:服务器被认为停机的时间长度,默认为10s
  • backup:标记该服务器为备用服务器,当主服务停止时,请求会被发送到这台服务器

upstream xiaohemiao { server 192.168.140.130:7777 max_fails=2 fail_timeout=10s; # 应用端口7777 server 192.168.140.130:8888; # 应用端口8888 server 192.168.140.130:9999 backup; #备机,当7777、8888应用都宕机之后会自动转移请求到9999端口上 }