当前位置 : 主页 > 网络编程 > 其它编程 >

nginix简单反向代理实现负载均衡配置

来源:互联网 收集:自由互联 发布时间:2023-07-02
一、nginx负载均衡说明    nginx仅仅是作为NGINXPROXY反向代理使用的,因为这个反向代理功能表现的效果是负载均衡,和真正的负载均衡还是有区别的。    负载均衡产 一、nginx负载均
一、nginx负载均衡说明    nginx仅仅是作为NGINXPROXY反向代理使用的,因为这个反向代理功能表现的效果是负载均衡,和真正的负载均衡还是有区别的。    负载均衡产

一、nginx负载均衡说明

    nginx仅仅是作为NGINX PROXY反向代理使用的,因为这个反向代理功能表现的效果是负载均衡,和真正的负载均衡还是有区别的。

    负载均衡产品是转发用户的请求包,而nginx反向代理是接收用户的请求然后重新发起请求区请求后面的节点。

    实现nginx负载均衡的组件主要有两个

    

ngx_http_proxy_module         proxy代理模块,用于请求后抛给服务器节点或upstream 服务器池

ngx_http_upstream_module   负载均衡模块,可以实现网站的负载均衡功能及节点的健康检查

二、配置说明:

image.png

使用3台服务器,LB01作为负载均衡器 ,web01和web02作为网页服务器

web01和web02的 主要配置如下

worker_processes  1;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    sendfile        on;    keepalive_timeout  65;    log_format main '$remote_addr - $remote_user [$time_local] "$request" '                    '$status $body_bytes_sent "$http_refere"'                    '"$http_user_agent" "$http_x_forwarded_for"';    server {        listen       80;        server_name  bbs.hbgd.com;:        location / {            root   html/bbs;            index  index.html index.htm;        }        access_log logs/access_bbs.log main;        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }           }    server{        listen 80;        server_name www.hbgd.com;        location / {                root html/www;                index index.html index.htm;                }        access_log logs/access_www.log main;        }    }

说明,这里做了个虚拟主机bbs.hbgd.com 和www.hbgd.com

然后编写index主页文件,如下所示:

image.png

然后检查语法,重启web01和web02的nginx服务

web01和 web02配置hosts文件后,相互测试

image.png

三、配置简单的负载均衡

LB01的配置文件如下所示:

worker_processes  1;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    sendfile        on;    keepalive_timeout  65;    upstream www_server_pools { #定义WEB服务器池,包含了两个WEB节点        server 172.31.208.93:80 weight=1;        #采用权重轮询算法        server 172.31.208.94:80 weight=1;    }    server {                    #此处定义代理的负载均衡域名虚拟主机        listen       80;        server_name  www.hbgd.com;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {        proxy_pass http://www_server_pools;     #访问www.hbgd.com 请求发送给www_server_pools里面的节点        proxy_set_header Host $host;            #在代理后端服务器发送的httpd请求头中加入host字段信息,用于当后端服务器配置有多个虚拟主机时,可以识别代理                                                #的时哪个虚拟机主机,这是节点服务器多虚拟主机的关键配置        proxy_set_header X-Forwarded-For $remote_addr;  #在代理向后端服务器发送的http请求头部中加入X-Forwarde-for字段信息,用于后端服务器程序,日志等接受记录真实用户的ip,                                                        #而不是代理服务器的IP        include proxy.conf;                             #包含的配置        }                error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }           }

检查完成成后,重启lb01上的nginx服务

然后再客户端访问www.hbgd.com,bbs.hbgd.com,可以看到每次访问请求都会被分配到不同服务,权重算法生效

image.png

image.png

image.png

image.png

上一篇:真的超赞!用systemd命令来管理linux系统!
下一篇:没有了
网友评论