马里亚布加莱拉;Nginx负载平衡

马里亚布加莱拉;Nginx负载平衡,nginx,load-balancing,centos7,virtualmin,mariadb-10.5,Nginx,Load Balancing,Centos7,Virtualmin,Mariadb 10.5,您好,我的服务器只有一个群集 2 GB内存 2GB交换 它们都有以下版本: 七分 数据库>>Maria DB 10.5>>INODB NGINX PHP7.4-FPM 雷迪斯 清漆 NGINX-FastCGI 我有一个主服务器和两个以上的VP 我想做一个负载平衡NGINX 和MariaDB在一起的Galera 这种情况下的基本设置是什么? 当一个落下时,另一个接管?一个愿望张贴配置示例 我开始基本相同的设置让我们交换这篇文章的信息。就MariaDB而言,我建议您查看如何配置MASTER-MAS

您好,我的服务器只有一个群集 2 GB内存 2GB交换 它们都有以下版本:

七分 数据库>>Maria DB 10.5>>INODB NGINX PHP7.4-FPM 雷迪斯 清漆 NGINX-FastCGI

我有一个主服务器和两个以上的VP 我想做一个负载平衡NGINX 和MariaDB在一起的Galera

这种情况下的基本设置是什么?
当一个落下时,另一个接管?

一个愿望张贴配置示例


我开始基本相同的设置让我们交换这篇文章的信息。

就MariaDB而言,我建议您查看如何配置MASTER-MASTER复制类型交易。它相当简单,运行也很好。我刚刚为你找到了这个链接,它似乎在某种程度上准确地说明了应该做什么

Master replication让您在多台服务器上拥有完全相同的内容,无论原始数据来自何处—所有服务器都可以执行读/写操作,只需几秒钟即可将其复制到所有服务器

对于Nginx的负载平衡,这是相当直接的,我建议您开始在Nginx.org上浏览,以便熟悉应用程序及其功能。我不相信您能在这里找到复制/粘贴解决方案,如果这是您正在寻找的-->并且您不应该以任何方式搜索此类解决方案。。。时间是宝贵的,但学习一点我们的工具也是宝贵的。学到的东西和对我们工具的理解能如此快速地粉碎未来的bug。。。。也许可以尝试使用CloudFlare进行负载平衡(我认为对于guven DNS条目,在多台主机上默认使用免费的循环类型)


负载平衡和会话管理是你应该在纸上写下来的东西(是的,是实际的东西,p-a-p-e-r),这样你就可以找到一种适合你需要的方法,而不需要太复杂的系统

我需要配置两件事:

1-webmin群集

2-负载平衡NGINX

你能用Haproxy吗

是否可以通过群集模块进行此配置


Virtualmin是否有Haproxy模块或负载平衡模块?

您可以使用其中一个web服务器进行负载平衡。但在单独的机器上设置平衡会更可靠。如果您的web服务器响应速度不是很快,并且您收到许多请求,那么负载平衡器将在队列中设置请求。对于大队列,您需要足够的RAM

您通常不需要扩展负载平衡器

或者,您可以为域创建两个或多个A(地址)记录,每个记录指向不同的web服务器地址。它将为您提供一个没有平衡服务器的“DNS负载平衡”。考虑这个选项。


图像的负载平衡

    http {
  split_clients "${remote_addr}" $server_id {
    33.3% 1;
    33.3% 2;
    33.4% 3;
  }

  server {
    location ~* \.(gif|jpg|jpeg)$ {
      return 301 "${scheme}://s${server_id}.site.com${request_uri}";
    }
  }

您需要使用上游的
备份
属性

备份

将服务器标记为备份服务器。当主服务器不可用时,它将通过请求传递


在这种情况下,备份仅在main关闭时使用

PauloBoaventura和@oldfart我目前正在研究此示例的配置。。。感谢您的关注,堂兄……我在最初的帖子中提到了这一点,即使用CloudFlare在dns请求级别为您执行循环dns
upstream backend {
    server main.example.com       max_fails=3 fail_timeout=30s;

    server backup1.example.com  backup;
}