Nginx-负载均衡的配置

Nginx-学习目录

1、Nginx实现负载均衡需要用到的模块

1.1、ngx_http_upstream_module模块

1.1.1、upstream指令

复制代码
upstream backend {
    server backend1.example.com       weight=5;
    server backend2.example.com:8080;
    server unix:/tmp/backend3;

    server backup1.example.com:8080   backup;
    server backup2.example.com:8080   backup;
}

server {
    location / {
        proxy_pass http://backend;
    }
}
复制代码

1.2、ngx_http_proxy_module模块

1.2.1、proxy_pass 指令

Syntax: proxy_pass URL;
Default: —
Context: location, if in location, limit_except

2、负载均衡场景环境规划

2.1、负载均衡场景架构图

2.2、准备主机

LB     192.168.10.4
web01  192.168.10.5
web02  192.168.10.7

3、后端Web节点配置实例

3.1、web01配置

3.1.1、准备测试代码

mkdir /opt/web01
echo "web-01" >/opt/web01/index.html

3.1.2、配置nginx

复制代码
cat >/etc/nginx/conf.d/web01.cyc.com.conf<<'EOF'
server{
  listen 8080;
  server_name web01.cyc.com;
  location / {
    root /opt/web01;
    index index.html;
  }
}
EOF
复制代码

3.1.3、重新加载nginx并且测试

systemctl restart nginx
~]# curl localhost:8080 web-01

3.2、web02配置

3.2.1、准备测试代码

mkdir /opt/web02
echo "web-02" >/opt/web02/index.html

3.2.2、配置nginx

复制代码
cat >/etc/nginx/conf.d/web02.cyc.com.conf<<'EOF'
server{
  listen 8080;
  server_name web02.cyc.com;
  location / {
    root /opt/web02;
    index index.html;
  }
}
EOF
复制代码

3.2.3、重新加载nginx并且测试

systemctl restart nginx
~]# curl localhost:8080 web-02

4、LB-Nginx配置

4.1、配置常用的代理请求头参数

复制代码
cat >/etc/nginx/proxy_params<<'EOF'
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
proxy_buffering on;
proxy_buffer_size 64k;
proxy_buffers 4 64k;
EOF

# 参考文章:https://www.cnblogs.com/ygbh/p/17365450.html#_label5
复制代码

4.2、配置nginx

复制代码
cat >/etc/nginx/conf.d/proxy_web.cyc.com.conf<<'EOF'
upstream web {
  server 192.168.10.5:8080;
  server 192.168.10.7:8080;
}
server{
  listen 80;
  server_name web.cyc.com;
  location / {
    proxy_pass http://web;
    include proxy_params;
  }
}
EOF
复制代码

4.3、重新加载nginx

systemctl restart nginx

4.4、配置hosts

echo "192.168.10.4 web.cyc.com" >>/etc/hosts

4.5、测试效果 

[root@nfs ~]# curl web.cyc.com
web-01
[root@nfs ~]# curl web.cyc.com
web-02

# 负载均衡生效

 

posted @   小粉优化大师  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示