微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LNMP架构中Nginx反向代理负载均衡如何配置

这篇文章主要介绍LNMP架构中Nginx反向代理负载均衡如何配置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1、配置环境介绍

系统环境:

[root@centos6 conf]# cat /etc/redhat-release 

CentOS release 6.5 (Final)

[root@centos6 conf]# uname -r

2.6.32-431.el6.x86_64

Nginx版本:

[root@centos6 conf]# /application/Nginx/sbin/Nginx -v

Nginx version: Nginx/1.10.1

LNMP架构中Nginx反向代理负载均衡如何配置

LNMP架构中Nginx反向代理负载均衡如何配置

配置二台虚拟主机,用来做后续测试



2、整体逻辑图

LNMP架构中Nginx反向代理负载均衡如何配置



说明:当用户访问时,其实访问的是负载均衡器对外提供的地地址,然后由它来根据相应的规则进行转发给后端后服务器


3、配置过程

[root@centos6 conf]# vi Nginx.conf

worker_processes  1;    

events {                          

    worker_connections  1024;    

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65; 

include /application/Nginx/conf/extra/upstream01.conf;

  }

加上述配置即可


接下来配置upstream01.conf


[root@centos6 extra]# vi upstream01.conf

#####config to Nginx 

upstream test_servers {      #定义主机池

server 172.16.1.235:8081 weight=5;  #按权重的方式进行轮询

server 172.16.1.235:8080 weight=5; 

server 172.16.1.235:80 weight=15;

      }

server { 

listen 80; 

server_name www.mingonge.com;

location / { 

 proxy_pass http://test_servers;     #将监听到请求转发到这个虚拟主机池

}  

 }


更多关于upstream模块的介绍,请参考官方文档

http://Nginx.org/en/docs/http/ngx_http_upstream_module.html


4、重启服务并测试

重启Nginx服务

[root@centos6 extra]# /application/Nginx/sbin/Nginx -t

Nginx: the configuration file /application/Nginx-1.10.1/conf/Nginx.conf Syntax is ok

Nginx: configuration file /application/Nginx-1.10.1/conf/Nginx.conf test is successful

[root@centos6 extra]# /application/Nginx/sbin/Nginx -s reload

linux本地客户端测试

[root@centos6 extra]# curl http://172.16.1.235

welcont to mingongge's blog stie

[root@centos6 extra]# curl http://172.16.1.235

welcont to mingongge's bbs stie

[root@centos6 extra]# curl http://172.16.1.235

welcont to mingongge's blog stie

用户客户端用域名测试

本地客户端需要将域名正确解析,www.mingongge.com------>172.16.1.235

LNMP架构中Nginx反向代理负载均衡如何配置

LNMP架构中Nginx反向代理负载均衡如何配置


从上面的测试结果来看,的确两次访问分配的服务器是不同的,为了测试效果,所以将显示内容配置成不同,实际生产环境中,所有的访问显示内容都是一样的,实现服务器宕机但不会影响用户的体验度



5、模拟测试真实环境

我们这里将两台虚拟机首页内容配置成相同显示内容来模拟真实生产环境

[root@centos6 ~]# echo "welcome to mingongge's web site" >/www/bbs/index.html

[root@centos6 ~]#  echo "welcome to mingongge's web site" >/www/blog/index.html

[root@centos6 ~]# cat /www/bbs/index.html 

welcome to mingongge's web site

[root@centos6 ~]# cat /www/blog/index.html 

welcome to mingongge's web site

linux客户端测试

[root@centos6 ~]# curl http://172.16.1.235

welcome to mingongge's web site

[root@centos6 ~]# curl http://172.16.1.235

welcome to mingongge's web site


停止其中一台虚拟的WEB服务功能来模拟故障,由于是用的Nginx本身的虚拟主机,这里我们就修改配置文件,将包含配置文件注释掉

#include  /application/Nginx/conf/extra/vhosts/bbs.conf;

如果测试用三台服务器,可以配置不同的http服务,模拟服务器宕机(停止WEB服务),来测试负载均衡的效果更加贴近现实环境


[root@centos6 ~]# curl http://www.mingongge.com        

welcome to mingongge's web site

[root@centos6 ~]# curl http://www.mingongge.com

welcome to mingongge's web site

LNMP架构中Nginx反向代理负载均衡如何配置


客户端仍然可以访问 ,表明负载均衡的功能是生效的,当其中的服务器出现宕机情况,也不会影响用户的最终访问

以上是“LNMP架构中Nginx反向代理负载均衡如何配置”这篇文章的所有内容,感谢各位的阅读!希望分享内容对大家有帮助,更多相关知识,欢迎关注编程之家行业资讯频道!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐