nginx做负

Nginx的负载均衡配置

Nginx还支持多组的负载均衡,可以配置多个upstream  来服务于不同的Server.

nginx 的 upstream目前支持 4 种方式的分配 
1)、轮询(默认) 
      每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 
2)、weight 
      指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 
2)、ip_hash 
      每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。  
3)、fair(第三方) 
      按后端服务器的响应时间来分配请求,响应时间短的优先分配。  
4)、url_hash(第三方)

至少需要三台虚拟机才能演示成功的。

首先我们这三台虚拟机都有web服务器web服务一定要启动。

这次演示的结构是

Master 192.168.221.2

Web1 192.168.221.3

Web2 192.168.221.4

在配置之前需要配置一个虚拟主机,在第二个主题已经有详细配置。

在master的配置文件中我们需要修改的是如下:

在http的模块中 server容器上添加

upstream mysvr {

server 192.168.221.3 weight=3; # weight的意思是比重越大,访问的比例几率越大。

server 192.168.221.4 weight=3;

}

upstream 每个设备的状态:

down 表示单前的server暂时不参与负载                    
weight  默认为1.weight越大,负载的权重就越大。 
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误 
fail_timeout:max_fails 次失败后,暂停的时间。 
backup:其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

再一个需要在虚拟主机的配置文件中添加: proxy_pass  http:// mysvr;(此处应该和上处红字一样)

在配置负载均衡时。正常情况下后端服务器显示访问的ip应该是nginx(master)的。如果想显示客户端的ip我们需要在master端的配置文件里添加:

proxy_set_header X-Real-IP $remote_addr;

即使这样还是不行。在一个我们需要在后端服务器的主配置文件找Log_format 那行可以尝试着修改第一个%h 修改为{X—Real—IP}I (日志的类型有的是commbin 和commen)

修改完成后。重新启动服务。目的就达到了

nginx做负

时间: 2024-10-07 11:32:19

                              nginx做负的相关文章

Nginx做负载均衡时session共享问题详解

用nginx做负载均衡时,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态. 再者Nginx连接Memcached集群时,Nignx的请求从memcached服务器中根据key获得了value则直接返回value,如果没有获得到value则去MySQL中查询再返回. location / { set $memcached_key "$request_uri"; #设置请求memcached服务器的key memca

Nginx做为CDN缓存负载均衡代理的配置实现

系统架构: nginx+tomcat+mysql 本文只做Nginx做为CDN缓存负载均衡代理的配置实现的介绍 相关软件: nginx-1.8.1.tar.gz ngx_cache_purge-2.3.tar.gz (用于手动清理缓存) 一.nginx安装 [[email protected] ~]tar -xf nginx-1.8.1.tar.gz [[email protected] ~]tar -xf ngx_cache_purge-2.3.tar.gz -C /usr/local/ngx

【Nginx】使用Nginx做反向代理时,关于被代理服务器相应的超时设置

阅读目录 > 参考的优秀文章 > 设置等待被代理服务器的最大响应时间 > 参考的优秀文章 Module ngx_http_proxy_module > 设置等待被代理服务器的最大响应时间 使用Nginx做反向代理时,因被代理服务器因业务确实复杂,需时较久,往往超过60秒.而Nginx默认设置超时时间为60秒. 针对这一情况,需修改默认配置.因配置项中涉及超时的选项太多,这里记录一下. 等待被代理服务器的最大响应时间为120秒,需加如下配置: proxy_read_timeout 1

Zabbix 使用nginx做web服务

zabbix 使用nginx做web服务 逻辑图: yum  nginx装好,默认的default.conf文件直接backup掉,新建一个zabbx.conf文件, #如果有报错看下nginx_log 日志排错,zabbix3.0.4nginx转发依赖./php-fpm -v PHP 5.6.25,之前代理发现没用 报错也不是配置错误,查看官网发现是php-fpm版本问题. 10.10.254.25 zabbix_server服务器nginx配置: $ cat zabbix.conf  ser

nginx做前端反代负载均衡,后端httpd+tomcat

实验内容:用nginx做前端反代负载均衡后端httpd+tomcat 实验环境:物理机win7,虚拟机centos7: node1:172.18.11.111 httpd+tomcat node2:172.18.11.112 httpd+tomcat node3:172.18.11.113 nginx反代负载均衡 说明:httpd有两种方式与tomcat通信: (1)httpd可使用http模块反代tomcat,此时tomcat使用http链接器: (2)httpd还可使用ajp模块反代tomc

今天自已建了个nginx做的google fonts的代理

今天花了一天时间建了个google fonts 的代理, 可以实现 从google 取回数据,转换成特定域名. 忽略缓存控制,可以长期保存,永不过期,(其实10年,10年后,google fonts将会如何?) 日志加上了HIT标记方便查询统计命中率. 很多时间花在了调整参数的数值上: 这个size, 那个buffer,  还有on和off的影响. 现在版本的nginx(1.9.10) 提示已经挺友好了,会提示参数之间的一些关系. 不用查文档,马上可以调整,赞一个. 顺便也复习下nginx做pr

用Nginx做NodeJS应用的负载均衡

<用Nginx做NodeJS应用的负载均衡> 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 负载均衡可以把用户的请求分摊到多个服务器上进行处理,从而实现了对海量用户的访问支持.负载均衡的架构如图所示: 对于复杂的Web应用来说,用Nginx做前端负载均衡是理所当然的事. 下面,我们用Nginx做NodeJS应用的负载均衡. 1.配置Nginx 修改nginx.conf: .... upstream sample { server 127.0.0.

nginx做正向代理

Nginx常用来做反向代理,但是作为正向代理大家有没有试过呢? Nginx配置如下: server{        resolver x.x.x.x;        listen 82;        location / {                proxy_pass http://$http_host$request_uri;        }} 注意项:1. 不能有hostname2. 必须有resolver, 即dns,即上面的x.x.x.x,换成你们的DNS服务器ip即可3 .

用nginx做代理服务器上网

用nginx做代理服务器上网 目前现状:只有1个机器能上网(web),其他机器不能方法:能上网的做一个代理web服务器中转,其他机器连接它即可.采用nginx Nginx配置如下: server{        resolver x.x.x.x;        listen 82;        location / {                proxy_pass http://$http_host$request_uri;        }} 注意项:1. 不能有hostname2.