nginx代理负载均衡 ——根据访问目录和根据不同apache

先说根据访问的目录来区分后端的web:

我的需求: 当请求的目录是 /aaa/ 则把请求发送到机器a,当请求的目录为/bbb/则把请求发送到机器b,除了目录/aaa/与目录/bbb/外,其他的请求发送到机器b

我的配置文件内容为:

  1. upstream aaa.com
  2. {
  3. server 192.168.111.6;
  4. }
  5. upstream bbb.com
  6. {
  7. server 192.168.111.20;
  8. }
  9. server {
  10. listen 80;
  11. server_name li.com;
  12. location /aaa/
  13. {
  14. proxy_pass http://aaa.com/aaa/;
  15. proxy_set_header Host   $host;
  16. proxy_set_header X-Real-IP      $remote_addr;
  17. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  18. }
  19. location /bbb/
  20. {
  21. proxy_pass http://bbb.com/bbb/;
  22. proxy_set_header Host   $host;
  23. proxy_set_header X-Real-IP      $remote_addr;
  24. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  25. }
  26. location /
  27. {
  28. proxy_pass http://bbb.com/;
  29. proxy_set_header Host   $host;
  30. proxy_set_header X-Real-IP      $remote_addr;
  31. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  32. }
  33. }

复制代码

说明:
1 以上配置文件中的 aaa.com 以及 bbb.com 都是自定义的,随便写。
2 upstream 中的server 可以写多个,例如

upstream aaa.com 
{
            server 192.168.111.6;
            server  192.168.111.4;
            server  192.168.111.5;
}

3 proxy_pass http://aaa.com/aaa/  这里必须要加这个目录,不然就访问到根目录了。
4 实际上,上述配置文件中, localtion /bbb/ 部分是可以省略掉的,因为后边的 location /  已经包含了/bbb/,所以即使我们不去定义  localtion /bbb/ 也是会访问到 bbb.com 的。

nginx针对请求的uri来代理:

场景:1台nginx去代理4台apache
需求:根据不同的请求uri 代理到不同的apache

nginx的配置文件为:

  1. upstream aa.com {
  2. server 192.168.0.121;
  3. server 192.168.0.122;
  4. }
  5. upstream bb.com {
  6. server 192.168.0.123;
  7. server 192.168.0.124;
  8. }
  9. server {
  10. listen       80;
  11. server_name  www.abc.com;
  12. location ~ aa.php
  13. {
  14. proxy_pass http://aa.com/;
  15. proxy_set_header Host   $host;
  16. proxy_set_header X-Real-IP      $remote_addr;
  17. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  18. }
  19. location ~ bb.php
  20. {
  21. proxy_pass http://bb.com/;
  22. proxy_set_header Host   $host;
  23. proxy_set_header X-Real-IP      $remote_addr;
  24. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  25. }
  26. }
时间: 2024-10-21 11:17:53

nginx代理负载均衡 ——根据访问目录和根据不同apache的相关文章

nginx代理负载均衡简单

安装nginx wget http://nginx.org/download/nginx-1.10.0.tar.gz tar xf nginx-1.10.0.tar.gz cd nginx-1.10.0 ./configure  --user=nginx  --group=nginx    --prefix=/application/nginx.1.10.0   --with-http_stub_status_module   --with-http_ssl_module make make  

Nginx实现反向代理负载均衡与静态缓存

介绍: Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.在连接高并发的情况下,Nginx是Apache服务器不错的替代品,能够支持高达50000个并发连接数的响应. 实验环境: Hostname IP 系统 规划 n2.preferred 192.168.1.2 Centos 6.5 Web server n3.preferred 192.168.1.3 Centos 6.5 Web server n6.preferred 192.168.1.6

Nginx反向代理 负载均衡 页面缓存 URL重写及读写分离

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

nginx的负载均衡,代理等功能详解

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

Nginx + Tomcat 反向代理 负载均衡 集群 部署指南

转载请注明出处:http://blog.csdn.net/smartbetter/article/details/53535435 Nginx是一种服务器软件,也是一种高性能的http和反向代理服务器,同时还是一个代理邮件服务器.也就是说,我们在Nginx上可以发布网站,可以实现负载均衡(提高应答效率,避免服务器崩溃),还可以作为邮件服务器实现收发邮件等功能.而最常见的就是使用Nginx实现负载均衡. Nginx与其他服务器的性能比较: Tomcat服务器面向Java语言,是重量级的服务器,而N

编译安装nginx并实现反向代理负载均衡和缓存功能

一.编译安装nginx 1.下载 [[email protected] ~]# wget http://nginx.org/download/nginx-1.10.0.tar.gz 2.解压 [[email protected] ~]# tar xf nginx-1.10.0.tar.gz [[email protected] ~]# cd nginx-1.10.0 3.安装依赖组件 [[email protected] nginx-1.10.0]# yum install pcre-devel

项目实战2.2—nginx 反向代理负载均衡、动静分离和缓存的实现

实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备注 nginx VIP:172.17.11.11 反向代理服务器 开启代理功能 设置监控,调度 rs01 RIP:172.17.22.22 后端服务器 stasic-srv 组 rs02 RIP:172.17.1.7 后端服务器 stasic-srv 组 rs01 RIP:172.17.77.77 后端服务器 defautl-srv 组 rs02 RIP:172.17.252.111 后端服务器 defaut

项目实战02:nginx 反向代理负载均衡、动静分离和缓存的实现

目录 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 2.下载编译安装tengine 3.设置代理服务器的配置文件 4.启动tengine服务 5.开启后端的web服务 6.测试 实验二:nginx实现缓存功能 1.环境准备:同上实验,实验结构图如下: 2.设置代理服务器的配置文件 3.测试:访问 http://172.17.11.11/ 总项目流程图,详见http://www.cnblogs.com/along21/p/7435612.html 回到顶部 实验一:实现反向代理负载均衡且

nginx反向代理负载均衡(轮询权重IPHash)

1 Nginx反向代理 1.1 实现图片回显 1.1.1 反向代理 说明:当用户发出image.jt.com/2018/1.jpg时,首先将请求发往Nginx.经过Nginx内部配置自动进行路径的切换.E:jt-upload/2018/1.jpg并且访问切换后的路径.将返回的结果再次返回给浏览器.这时浏览器可以进行正常的展现 1.1.2 Nginx介绍 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是