Linux配置Nginx负载均衡

juzi1年前技术1291

首先先了解下负载均衡,假设一个场景,如果有1000个客户同时访问你服务器时,而你只有一台服务器的Nginx,且只有一个MySQL服务器,那么这些请求

可能会高出你的的服务器承受能力,就会down掉;

解决方法:

1.垂直升级:就是增加服务器的配置,CPU,内存等

2.水平升级:添加多台服务器来分担服务器压力

常见的负载均衡器

根据工作在的协议层划分可划分为:

  • 四层负载均衡:根据请求报文中的目标地址和端口进行调度

  • 七层负载均衡:根据请求报文的内容进行调度,这种调度属于「代理」的方式

根据软硬件划分:

  • 硬件负载均衡:

    • F5 的 BIG-IP

    • Citrix 的 NetScaler

    • 这类硬件负载均衡器通常能同时提供四层和七层负载均衡,但同时也价格不菲

  • 软件负载均衡:

    • TCP 层:LVS,HaProxy,Nginx

    • 基于 HTTP 协议:Haproxy,Nginx,ATS(Apache Traffic Server),squid,varnish

    • 基于 MySQL 协议:mysql-proxy

 

配置Nginx负载均衡

vi /nignx目录/nginx.conf

#添加下面这段 backend可以自由命名
upstream backend {
   #添加服务器到负载均衡
     server 192.168.1.252;
             server 192.168.1.251 weight=2;#设置该服务器在负载均衡中的权重  默认为1;越高则访问的频次越大
             server 192.168.1.252 down;  #表示down掉这台服务器,不参与负载均衡
             server 192.168.1.247 backup; #备用服务器 当其他服务器很忙或者down掉之后才会启动这台的
         }
#配置参数#max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
#fail_timeout:max_fails次失败后,暂停的时间。


 

server {
        listen       80;
        server_name  localhost;
 
        location / {
             #反向代理的地址
             proxy_pass http://backend;     
        }
}


这样子就已经配置完成了

访问localhost,如果三台服务器能轮询切换就证明配置成功

相关文章

linux安装svn服务器(yum方式)

linux安装svn服务器(yum方式)

1.查看yum是否安装在终端中输入yum即可如果已经安装,会显示yum的参数,如果没有安装,会提示yum未安装或无效命令……2.安装svnyum -y install s...

linux上启动svn服务

[root@localhost ~]# ls /var/svn/svnrepos/     # 搭建svn服务时创建的资源库,里面包含  conf&n...

服务器设置ssh密钥登录

1. 确保服务器上安装好ssh-keygen,生成服务器的密钥对,以及相应的文件  B机器$ ssh-keygen -t rsa -C&nb...

php操作redis常用方法

参考:https://www.cnblogs.com/aipiaoborensheng/p/5666005.html1,connect描述:实例连接到一个Redis.参数:host: string,p...

如何快速找出Linux系统中的大文件

如何快速找出Linux系统中的大文件

在性能测试中,我们经常要关注系统磁盘空间,防止因磁盘空间占满而导致的报错。那么具体怎么查看磁盘空间的大小呢?怎么找到占用   空间最大的文件进而删除呢?    ...

php实现等比例压缩图片

/**      * desription 压缩图片      * ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。