nginx在centos环境下,实现3台虚拟机负载均衡

负载均衡

先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可。

测试环境
在VMware里安装了三台CentOS。

A服务器IP :192.168.0.219 (主)

B服务器IP :192.168.0.119

C服务器IP :192.168.0.109

部署思路
A服务器做为主服务器,域名直接解析到A服务器(192.168.0.219)上,由A服务器负载均衡到B服务器(192.168.0.119)与C服务器(192.168.0.109)上。

在A服务器上,upstream指令——分配负载

vi /etc/nginx/conf.d/default.conf

upstream 192.168.0.219 {
      server  192.168.0.119:80;
      server  192.168.0.109:80;
}

server {
    listen       80;
    server_name  192.168.0.219;
    charset utf8;
   
     location / {
        proxy_pass         http://192.168.0.219;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

保存重启nginx

在B、C服务器上,

vi /etc/nginx/conf.d/default.conf

server {
    listen       80;
    server_name 192.168.0.219;
    index index.html;
    root /usr/share/nginx/html;

}

保存重启nginx

测试
当访问http://192.168.0.219的时候,为了区分是转向哪台服务器处理我分别在B、C服务器下写一个不同内容的index.html文件,以作区分。

打开浏览器访问a.com结果,刷新会发现所有的请求均分别被主服务器(192.168.5.149)分配到B服务器(192.168.0.119)与C服务器(192.168.0.109)上,实现了负载均衡效果。

时间: 2024-10-07 18:59:18

nginx在centos环境下,实现3台虚拟机负载均衡的相关文章

Centos环境下手动设置-网络参数配置-网络挨排错顺序-

Linux中网络参数大致包含以下内容: IP地址 子网掩码 网关 DNS服务器 主机名(默认 localhost) 历来Linux系统中修改这些参数的方式通常有:命令.文件两种.其中通过命令设置可以立即生效但重启后将失效,通过文件修改实现永久生效,但不会立即生效. 首先我们来看看命令的方式:ifconfig:查看与设置IP地址.子网掩码hostname:查看与设置主机名route:     查看与设置路由信息(默认网关等) 通过文件的方式修改:/etc/sysconfig/network-scr

CentOS环境下R语言的安装和配置

最近在看数据统计和分析,想到了R语言,于是就着手在自己的CentOS环境下进行安装和配置.步骤如下: 1.前往R官网下载安装包. 2.解压压缩包:tar xvzf R-3.2.2.tar.gz 3.进行编译:./configure --prefix=/usr/local/rscript(--prefix的内容自定,这是R的安装目录) 注意:此过程中可能会出现以下错误: --with-readline=yes (default) and headers/libs are not available

CentOS环境下,gdb调试中出现:Missing separate debuginfos, use: debuginfo-install.....的问题

在gdb调试时segmentation fault问题时,遇到下面的了问题: Program received signal SIGABRT, Aborted.0x00007ffff73eb925 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:6464 return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);Missing separate debuginfos, use:

linux centos环境下,perl使用DBD::Oracle遇到报错Can't locate DBDOracle.pm in @INC 的解决办法

前言 接手前辈的项目,没有接触.安装.使用过perl和DBD::Oracle,也没有相关的文档记录,茫茫然不知所措~~.一开始发现这个问题,就想着迅速解决,就直接在google上搜报错信息,搜索的过程中发现 如果不搞清楚前因后果我连解决方案都'看不见''看不懂'. 所以还是要补充这方面的知识,再思考解决方案.以下内容就是我一边学习一边解决问题的过程,如果不足,请各位大佬指出. 报错 install_driver(Oracle) failed: Can't locate DBD/Oracle.pm

windows环境下的eclipse操作虚拟机里面的hadoop相关配置

当电脑的配置不是很高的时候,在虚拟机里面安装上编译软件进行编程的话,卡的要命,所以总结一下在windows环境下eclipse配置链接虚拟机中的hadoop 在虚拟机中的hadoop要和主机的hadoop要是一样的版本(不知道不一样的版本会不会出现问题,确保成功,用一样的版本是最好的,我这里用的是hadoop2.7.0) 将虚拟机里面的环境配置好以后(虚拟机环境的配置,可见https://www.cnblogs.com/zhaochunhui/p/11451520.html),在window中进

centos 7.3 LVS的NAT模式负载均衡实操

一.LB集群原理 1.实现手段 硬件:F5负载均衡器 软件:LVS(4层,网络层),Nginx(7层,应用层) 2.负载均衡架构图 说明: LVS集群使用三层架构 第一层:负载均衡层(Load Balancer) 位于整个集群系统的最前端,由一台或多台负载调度器(Director Server,以下简称dir)组成. dir的作用类似一个路由器,它含有为完成LVS功能所设定的路由表,通过这些路由表把用户的请求分发给服务器群组层的应用服务器(Real Server) ps:客户认为服务是来自一个虚

Windows平台下利用APM来做负载均衡方案 - 负载均衡(下)

概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效果,可以说还是非常的理想的.同时我们也收集到了不少的问题,比如说如何在这种分布式的架构下使用Session,NLB中有一台服务器挂掉了会导致对外暴露的地址无法访问,如果实现服务器之间的同步,如果更好的进行热修复等等,还有我们在上一篇中也提到了NLB所提供的功能是非常简单的,为了回答我们前面提到的问题

大数据时代下的SQL Server第三方负载均衡方案----Moebius测试

一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 架构原理(Architecture) 测试环境(Environment) 安装Moebius(Install) Moebius测试(Testing) 负载均衡测试(Load Balancing Testing) 高可用性测试(Failover Testing) 数据安全性测试(Security Testing) 总结(Summary) 二.背景(Contexts) 前几天在SQL Serve

windows环境vagrant修改静态资源文件,centos虚拟机中nginx的web环境下不生效

最近上手krpano,本地修改了krpano.html文件或者xml文件,在虚拟机环境打开文件是修改过来了,在nginx中就是不生效. 修改nginx.conf中http{}中的 sendfile        on; 改成 sendfile        off;  修改后立刻生效. 附带一份nginx配置说明,备忘. ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总