通过操作nginx.conf配置文件,列举NGINX常用的几种负载均衡的配置示例,包括权重、随机、hash等方式,样例都是伪配置,仅供参考。
1. 权重方式
示例中,我们定义了一个名为 `backend` 的负载均衡组,其中包含了三个后端服务器,并且分别设置了它们的权重。权重越大,被选中的概率越大。
http {
upstream backend {
server backend1.example.com weight=3;
server backend2.example.com weight=2;
server backend3.example.com weight=1;
}
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;
}
}
}
2. 随机方式
示例中,我们定义了一个名为 `backend` 的负载均衡组,其中包含了三个后端服务器,并且使用了 `random` 指令来实现随机负载均衡。每个请求都有相同的被选中概率。
http {
upstream backend {
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
random;
}
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;
}
}
}
3. Hash方式
示例中,我们定义了一个名为 `backend` 的负载均衡组,其中包含了三个后端服务器,并且使用了 `hash` 指令来实现基于客户端IP地址的负载均衡。每个客户端IP地址都将被映射到一个后端服务器。当有新的客户端连接时,将根据客户端IP地址进行负载均衡。
http {
upstream backend {
hash $remote_addr;
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
}
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;
}
}
}
以上是NGINX负载均衡的配置示例仅供参考,包括权重、随机、hash等方式。可以根据自己的需求,选择合适的负载均衡方式来实现高可用性和高性能的服务。