您现在的位置是:首页 >技术教程 >nginx负载均衡+RabbitMq集群及镜像队列(2)网站首页技术教程

nginx负载均衡+RabbitMq集群及镜像队列(2)

panda_225400 2023-07-06 20:00:02
简介nginx负载均衡+RabbitMq集群及镜像队列(2)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

之前是为Web应用搭建的两台服务器NLB负载均衡,不想改动,现在三台服务器搭建了RabbitMq集群及镜像队列,想通过负载均衡监听和处理队列,所以想到了nginx,nginx不光是个高性能Web服务器,还能做负载均衡


提示:以下是本篇文章正文内容,下面案例可供参考

一、nginx是什么?

Nginx 是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能的 Web 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
优点:
1、作为Web服务器,Nginx处理静态文件、索引文件,自动索引的效率非常高

2、作为代理服务器,Nginx可以实现无缓存的反向代理加速,提高网站运行速度

3、作为负载均衡服务器,Nginx既可以在内部直接支持Rails和PHP,也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡

4、在性能方面,Nginx是专门为性能优化而开发的,实现上非常注重效率。它采用内核Poll模型,可以支持更多的并发连接,最大可以支持对5万个并发连接数的响应,而且只占用很低的内存资源

5、在稳定性方面,Nginx采取了分阶段资源分配技术,使得CPU与内存的占用率非常低。Nginx官方表示,Nginx保持1万个没有活动的连接,而这些连接只占用2.5MB内存,因此,类似DOS这样的攻击对Nginx来说基本上是没有任何作用的

6、在高可用性方面,Nginx支持热部署,启动速度特别迅速,因此可以在不间断服务的情况下,对软件版本或者配置进行升级,即使运行数月也无需重新启动,几乎可以做到7x24小时不间断地运行

具体不说了,网上资料比较多

二、搭建步骤

1.软件和环境

IP操作系统软件端口
10.20.32.**Centos 7nginx13456,3456
10.20.36.**WindowServer2012RabbitMq15672,5672
10.20.35.**WindowServer2012RabbitMq15672,5672
10.20.36.**WindowServer2012RabbitMq15672,5672

2.安装nginx

代码如下(示例):

----#安装nginx
root: mkdir -p /data/nginx
root: cd /data/nginx

root: rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm
root: rpm -q zlib-devel

##--解压
root: tar -zxvf  nginx-1.24.0.tar.gz
root: mv nginx /usr/local/
root: cd /usr/local/nginx
root: ./configure --with-stream
root: make && make install
root: mkdir -p /usr/local/nginx
root: cp /data/nginx/nginx-1.24.0/objs/* -a  /usr/local/nginx/sbin/
##配置nginx.conf

##--启动
root: cd /usr/local/nginx/sbin
root: ./nginx
root:/usr/local/nginx
nginx -s stop
nginx -s reload

3.负载均衡配置nginx.conf


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
   upstream rabbitmq_web{
    server 10.20.36.**:15672 fail_timeout=10s weight=5;
    server 10.20.35.**:15672 fail_timeout=10s weight=4;
    server 10.20.36.**:15672 fail_timeout=10s weight=3;

   }
   upstream rabbitmq_56{
     server 10.20.36.**:5672 fail_timeout=10s weight=5;
     server 10.20.35.**:5672 fail_timeout=10s weight=4;
     server 10.20.36.**:5672 fail_timeout=10s weight=3;
   }
    server {
        listen       13456;
        server_name  localhost;
        location / {
            proxy_pass http://rabbitmq_web;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
	
   }
}

stream{
		upstream rabbitTcp{
			server 10.20.36.**:5672;
			server 10.20.35.**:5672;
			server 10.20.36.**:5672;
		}
		server{
			listen 3456;
			proxy_pass rabbitTcp;
		}
}

启动nginx
在这里插入图片描述
http://10.20.32.**:13456/
在这里插入图片描述
rabbitmq_web后台管理 nginx负载均衡 成功

4.应用程序配置

生产者:
**加粗样式
**
消费者:
在这里插入图片描述

在这里插入图片描述


总结

记录点点滴滴

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。