用nginx进行同一个服务器下多域名的负载均衡配置

Nginx进行http负载均衡的模块是upstream

Upstream可以进行多个配置,这样的话可以灵活的配置站点,但是注意的是upstream后面的名字最好是配置成为域名,因为upstream是进行http访问的,一般的解析没有问题,但是如果是ajax的解析就会通过访问upstream后面的名字来进行访问了,这里要注意。

修改配置文件:conf/nginx.conf

配置文件代码

  1. #需要进行负载均衡的站点
  2. #其中server是其中负载均衡的一个节点www.aaa.com
  3. upstream www.aaa.com {
  4. server 192.168.0.1:8080 weight=1;
  5. server 192.168.0.2:8080 weight=2;
  6. server 192.168.0.1:8081 weight=3;
  7. }
  8. #第二个网站的www.bbb.com的负载均衡的节点
  9. upstream www.bbb.com {
  10. server 192.168.1.1:8080 ;
  11. server 192.168.1.2:8080 ;
  12. server 192.168.1.3:8080 ;
  13. ip_hash;
  14. }
  15. #同一服务器转发2个不同域名进行负载均衡
  16. #www.aaa.com的server
  17. server
  18. {
  19. listen       80;
  20. server_name  www.aaa.com;
  21. location / {
  22. index  index.html index.jsp;
  23. #这里的proxy_pass转发的是upstream的名字www.aaa.com
  24. proxy_pass  http://www.aaa.com;
  25. proxy_set_header    X-Real-IP   $remote_addr;
  26. client_max_body_size    100m;
  27. }
  28. #limit_conn   crawler  20;
  29. }
  30. server
  31. {
  32. listen       80;
  33. server_name  www.bbb.com;
  34. location / {
  35. index  index.html index.jsp;
  36. #这里的proxy_pass转发的是upstream的名字www.bbb.com
  37. proxy_pass  http://www.bbb.com;
  38. proxy_set_header    X-Real-IP   $remote_addr;
  39. client_max_body_size    100m;
  40. }
  41. #limit_conn   crawler  20;
  42. }
#需要进行负载均衡的站点
#其中server是其中负载均衡的一个节点www.aaa.com
upstream www.aaa.com {
        server 192.168.0.1:8080 weight=1;
server 192.168.0.2:8080 weight=2;
server 192.168.0.1:8081 weight=3;

}  

#第二个网站的www.bbb.com的负载均衡的节点
upstream www.bbb.com {
        server 192.168.1.1:8080 ;
server 192.168.1.2:8080 ;
server 192.168.1.3:8080 ;
        ip_hash;
 }  

#同一服务器转发2个不同域名进行负载均衡
#www.aaa.com的server
server
  {
    listen       80;
    server_name  www.aaa.com;

		location / {
            index  index.html index.jsp;
			#这里的proxy_pass转发的是upstream的名字www.aaa.com
            proxy_pass  http://www.aaa.com;
            proxy_set_header    X-Real-IP   $remote_addr;
            client_max_body_size    100m;
        }  

    #limit_conn   crawler  20;    

}

server
  {
    listen       80;
    server_name  www.bbb.com;

		location / {
            index  index.html index.jsp;
#这里的proxy_pass转发的是upstream的名字www.bbb.com
            proxy_pass  http://www.bbb.com;
            proxy_set_header    X-Real-IP   $remote_addr;
            client_max_body_size    100m;
        }  

    #limit_conn   crawler  20;    

}

Upstream的server详细配置:

(具体配置信息查看:http://www.howtocn.org/nginx:nginx%E6%A8%A1%E5%9D%97%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E4%B8%AD%E6%96%87%E7%89%88:standardhttpmodules:httpupstream

§  weight = NUMBER - 设置服务器权重,默认为1。

§  max_fails = NUMBER - 在一定时间内(这个时间在fail_timeout参数中设置)检查这个服务器是否可用时产生的最多失败请求数,默认为1,将其设置为0可以关闭检查,这些错误在proxy_next_upstream或fastcgi_next_upstream(404错误不会使max_fails增加)中定义。

§  fail_timeout = TIME - 在这个时间内产生了max_fails所设置大小的失败尝试连接请求后这个服务器可能不可用,同样它指定了服务器不可用的时间(在下一次尝试连接请求发起之前),默认为10秒,fail_timeout与前端响应时间没有直接关系,不过可以使用proxy_connect_timeout和proxy_read_timeout来控制。

§ down - 标记服务器处于离线状态,通常和ip_hash一起使用。

§ backup - (0.6.7或更高)如果所有的非备份服务器都宕机或繁忙,则使用本服务器(无法和ip_hash指令搭配使用)。

时间: 2024-10-10 23:15:26

用nginx进行同一个服务器下多域名的负载均衡配置的相关文章

架构之路:nginx与IIS服务器搭建集群实现负载均衡(三)

参考网址:https://blog.csdn.net/zhanghan18333611647/article/details/50811980 [前言] 在<架构之路:nginx与IIS服务器搭建集群实现负载均衡(二)>中提到有好多有趣的地方,接下来就为大家一块儿讲讲在深入研究过程中遇到那些有趣的事情. ·实战之行--发现问题 ·探索之旅--寻出问题原因 ·解决之道--解决问题 [实战之行] 在<架构之路:nginx与IIS服务器搭建集群实现负载均衡(二)>中做了小Demo,当时做

架构之路:nginx与IIS服务器搭建集群实现负载均衡(二)

[前言] 在<架构之路:nginx与IIS服务器搭建集群实现负载均衡(一)>中小编简单的讲解了Nginx的原理!俗话说:光说不练假把式.接下来,小编就和大家一起来做个小Demo来体会一下Nginx的神奇之处. [准备工作] ·安装一款文本编辑器(这里以Notepad++为例) ·下载Nginx(这里以Nginx-1.4.7为例,其他版本操作相同) ·建两个简单网页:在文件夹test1新建一个html页内容为--我是Test1,在文件夹test2新建一个html页内容为--我是Test2) ·将

nginx入门(一)window下实现简单的负载均衡

下载地址:http://nginx.org/en/download.html 我下载的是当前最新版本 (nginx/Windows-1.11.10) 解压运行nginx.exe 可以看到命令行窗口一闪而过,查看任务管理器,可以看到多出两个nginx.exe的进程 进入解压目录的conf下 这个文件就是nginx的配置文件了,这个是window版的,有些配置被注释掉了 配置详细可以看这篇博客 http://www.cnblogs.com/sunxucool/p/3225818.html 输入loc

CentOS下LVS DR模式负载均衡配置详解

一安装LVS准备: 1.准备4台Centos 6.2 x86_64 注:本实验关闭 SELinux和IPtables防火墙. 管理IP地址 角色 备注 192.168.1.101 LVS主调度器(Master Director) 对外提供服务的VIP为192.168.1.180 192.168.1.114 LVS从调度器(Backup Director) 平时可以作为RS(真实服务器使用) 192.168.1.104 RS1(真实服务器)   192.168.1.103 RS2(真实服务器)  

Nginx + Tomcat Windows下的负载均衡配置

一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过500的并发数会出现Tomcat不能响应新的请求的情况,严重影响网站的运行.同时如果访问量非常大的情况下,Tomcat的线程数会不断增加.因此会占据大量内存,严重时出现内存溢出的现象,这时需要重启Tomcat以释放内存,阻断了网站的运行.    所以对Tomcat做负载均衡便很有必要.目前可以和Tomcat做负载均衡的主流服务器是Apache,但是Nginx由于功能

Nginx服务器 之反向代理与负载均衡

一.反向代理 正向代理: 客户端要获取的资源就在服务器上,客户端请求的资源路径就是最终响应资源的服务器路径,这就是正向代理.正向代理的特点:就是我们明确知道要访问哪个网站地址. 反向代理: 客户端想获取服务器集群中(服务1,服务2,服务3 他们的资源相同)中的资源,但是客户端无法与该服务器集群建立连接,但我们可以与另一台服务器(代理服务器)建立连接且该服务器能获取服务器集群中的资源.这个时候客户端就可以通过请求代理服务器,获取想要的资源,但客户端并不知道给他资源的是哪个服务器.这种方式就是反向代

Nginx多域名负载均衡配置

Nginx负载均衡设置 环境: 负载均衡:192.168.188.128:80 Web1:192.168.188.128:81 Web2:192.168.188.129:80 正式环境中,需要解析域名www.doubles.cn.abc.dd.cn到负载均衡机器192.168.188.128,我们现在测试,就直接在本地windows下的hosts里面绑定域名: 192.168.188.128 www.doubles.cn 192.168.188.128 abc.dd.cn 1.单个域名的负载均衡

RHEL7下Nginx负载均衡配置(四)

RHEL7下Nginx负载均衡配置 前面两节讲过安装和配置文件了,这里写出配置文件,大家根据内容修改配置文件就可以了. http { upstream   myserver{ server 192.168.1.21:80 weight=2 max_fails=3 fail_timeout=20s; server 192.168.1.22:80 weight=3 max_fails=3 fail_timeout=20s; server 192.168.1.23:80 weight=4 max_fa

Nginx 负载均衡配置和策略

Nginx 的 HttpUpstreamModule 提供对后端(backend)服务器的简单负载均衡.一个最简单的 upstream 写法如下: upstream backend { server backend1.example.com; server backend2.example.com; server.backend3.example.com; } server { location / { proxy_pass http://backend; } } 1.后端服务器 通过 upst