CentOS7 Nginx负载均衡

五台服务器
192.168.155.129 nginx反向代理服务器
192.168.155.130 apache+PHP服务器,PHP要使用mysql函数库,配置的时候就要指定mysql安装路径,所以虽然以后连接远程mysql服务器,安装PHP时本地也要先安装mysql提供mysql库(只是用到了其中的库,无需启动数据库和分配账号),下面的nginx+PHP服务器也同样如此
192.168.155.131 nginx+PHP服务器
192.168.155.132 apache+PHP+mysql1服务器
192.168.155.133 apache+PHP+mysql2PHP服务器
本台nginx服务器的IP地址为 192.168.155.129

192.168.155.129shell端
暂时关闭nginx
service nginx stop

在http{}节点里添加
upstream mySite {
    server 192.168.155.130:80 down;
    server 192.168.155.131:80 weight=1;
    server 192.168.155.132:80 weight=2;
    server 192.168.155.133:80 backup;
    #ip_hash;
}
upstream 表示一组的负载均衡服务器,mySite为自定义名,用来给下面的proxy_pass参数赋值
down     表示该服务器暂时不参与负载
weight   默认为1,weight越大,负载的权重就越大。 上面比例的话相当访问两次192.168.155.132,访问一次192.168.155.131
backup   其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
ip_hash  让每个客户端每次访问固定访问第一次访问的后端服务器,该方法有一定弊端,暂时注释掉
在需要使用负载的server{}节点里的需要使用负载的location{}里添加如下段
proxy_pass http://mySite;
该server{}节点即开始使用该组服务器做负载均衡
反向代理会把客户端请求过来的url,参数,等数据原样发给某个负载均衡的服务器上处理,如果其中有机器故障,会自动转交其他机器处理
Nginx支持多组的负载均衡,可以配置多个upstream来服务于不同的Server。
nginx 的 upstream目前支持 4 种方式的负载分配
1)、轮询(默认即相当于weight=1)
      每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
      指定轮询几率,weight值和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash
      每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session不能共享的问题。
3)、fair(第三方)
      按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4)、url_hash(第三方)
vim /usr/local/nginx/conf/nginx.conf

开启服务器
service nginx start

在mySite组每个服务器根目录下新建f1.php
每个服务器f1.php内容依次是
192.168.155.130/f1.php
<?php echo "this is 192.168.155.130";exit;?>
192.168.155.131/f1.php
<?php echo "this is 192.168.155.131";exit;?>
192.168.155.132/f1.php
<?php echo "this is 192.168.155.132";exit;?>
192.168.155.133/f1.php
<?php echo "this is 192.168.155.133";exit;?>

浏览器中输入
http://192.168.155.129/f1.php
会输出显示
this is 192.168.155.131
或
this is 192.168.155.132
每显示两次this is 192.168.155.132显示一次this is 192.168.155.131
时间: 2024-11-05 23:26:24

CentOS7 Nginx负载均衡的相关文章

day10 nfs服务,nginx负载均衡,定时任务

=====================nginx 负载均衡======================= 实现nginx负载均衡的效果,并运用nfs服务共享目录,使所有nginx服务拥有共同的http目录 nginx安装:http://www.cnblogs.com/alwaysInMe/p/6924859.html nfs安装:NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定. ===>  环境配置及软件安装 注:本次安装用的是cent

CentOS系统搭建Nginx负载均衡

一.关于CentOS系统介绍 CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成.基于Red Hat持续升级,和对已知BUG修复,所以CentOS更多用于搭建大型企业级服务器.目前较新版本为7.0,本文使用CentOS7 64bit进行搭建系统负载均衡. 二.安装VMWare VMWare (Virtual

Keepalived+LVS+Nginx负载均衡之高可用

Keepalived+LVS+Nginx负载均衡之高可用 上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行.针对系统架构设计的高可用要求,我们需要解决Nginx负载均衡出现单机故障时,系统正常运行的需求.所以系统架构引入Keepalived组件,实现系统高可用. 一.Keepalived介绍 Keepalived是分布式部署系统解决系统高可用的软件,结合LVS(Linux Virtual Serve

Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用

上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行.针对系统架构设计的高可用要求,我们需要解决Nginx负载均衡出现单机故障时,系统正常运行的需求.所以系统架构引入Keepalived组件,实现系统高可用. 一.Keepalived介绍 Keepalived是分布式部署系统解决系统高可用的软件,结合LVS(Linux Virtual Server)使用,其功能类似于heartbeat,解决单机宕机的问

Net分布式系统之二:CentOS系统搭建Nginx负载均衡

一.关于CentOS系统介绍 CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成.基于Red Hat持续升级,和对已知BUG修复,所以CentOS更多用于搭建大型企业级服务器.目前较新版本为7.0,本文使用CentOS7 64bit进行搭建系统负载均衡. 二.安装VMWare VMWare (Virtual

nginx负载均衡和mysql主主被动模式基础架构综合部署

1.结构思路 准备用5个虚机,一个虚机安装nginx来配置负载均衡,两个虚机做web服务器,另外两个虚机,安装mysql,做主主被动配置,每次web只读取一个mysql服务. 2.具体实施步骤 用vmware最小化安装5个虚机,我用的是centos7,可以克隆. 配置两个虚机web服务,我这里用wordpress.架构可以用lamp,也可以用lnmp,我这里用lnmp.注意web连接的mysql不是在本地,启用的是另外一个虚机的mysql. 配置虚机的nginx负载均衡. 配置两个虚机的mysq

Nginx负载均衡-day

1 Nginx负载均衡实战 Nginx的负载均衡可以用自带的upstream模块完成,本身还自带健康检查,非常简单.不但可以负载web,还可以负载fastcgi.memcached,功能非常强大 1.1 环境准备 #需要准备四台服务器.LB01.LB02.RS01.RS02 LB01: ip: eth0:172.16.50.1 eth1:10.0.0.1 LB02: ip: eth0:172.16.50.2 eth1:10.0.0.2 RS01: ip: eth0:10.0.0.80 RS01:

nginx负载均衡实验

Nginx负载均衡概述 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现负载的分发.那么会大大提升系统的吞吐率.请求性能.高容灾 Nginx要实现负载均衡需要用到proxy_pass代理模块配置 Nginx负载均衡与Nginx代理不同地方在于 Nginx代理仅代理一台服务器,而Nginx负载均衡则是将客户端请求代理转发至一组upstream虚拟服务池 Nginx可以配置

Linux之nginx负载均衡

Nginx负载均衡概述 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现负载的分发.那么会大大提升系统的吞吐率.请求性能.高容灾 Nginx要实现负载均衡需要用到proxy_pass代理模块配置 Nginx负载均衡与Nginx代理不同地方在于 Nginx代理仅代理一台服务器,而Nginx负载均衡则是将客户端请求代理转发至一组upstream虚拟服务池 Nginx可以配置