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

nginx.conf:

main,worker_process、error_log、user、group;

event{} 事件驱动相关

httpd{} 关于http相关的配置

server{} 虚拟主机

upstream NAME{}负载均衡模块

需定义在server之外

location URI{}  URI访问属性

location URI {}:
               对当前路径及子路径下的所有对象都生效;
            location = URI {}:
               精确匹配指定的路径,不包括子路径,因此,只对当前资源生效;
            location ~ URI {}:
            location ~* URI {}:
              模式匹配URI,此处的URI可使用正则表达式,~区分字符大小写,~*不区分字符大小写;
            location ^~ URI {}:
                不使用正则表达式

一、反向代理。

location /luntan {
                proxy_pass http://192.168.1.32/bbs;
        }
location ~* /luntan {       #使用正则表达式匹配,不能使用URI
                proxy_pass 
                proxy_set_header X-Real-IP $remote_addr;   #传送给后端真实源地址
        }
[[email protected] ~]# vim /etc/httpd/conf/httpd.conf    #后端web服务器修改日志格式
LogFormat "%{X-Real-IP}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

二、负载均衡,三种方式:round-robin、ip_hash、least_conn

upstream abc {
        ip_hash;    #配置此方式不能配置sorry_server
        server 192.168.1.31 weight=1;  #指定权重才能负载均衡
        server 192.168.1.32 weight=1 max_fails=3 fail_timeout=30s;  #RS健康状况检查
        server 127.0.0.1:8080 weight=1 backup;   #当所有后端web故障时,指定sorry_server
        }
location / {                    #指定可负载均衡的URI
                proxy_pass    
        }
server {           #配置sorry_server
        listen 8080;
        server_name localhost;
        root /web/errorpages;
        }

三、缓存

http {        #proxy_cache_path不能定义在server{}上下文
    proxy_cache_path  /data/nginx/cache  levels=1:2    keys_zone=NAME:10m 
                                         inactive=24h  max_size=1g;
      }
#levels:子目录等级;keys_zone:共享内存命名及大小;max_size:缓存目录大小
location / {
                proxy_pass http://lsq;
                proxy_cache NAME;     #keys_zone共享内存名称
                proxy_cache_valid 200 10m;    #返回码缓存时间,即返回码200缓存10分钟
        }

四、读写分离。

location / {
            root   html;
            index  index.html index.htm;
            if ($request_method ~* "PUT") {
                proxy_pass http://192.168.1.31;
                break;
            }
        }
时间: 2024-10-13 07:43:52

Nginx反向代理、负载均衡、缓存、URL重写及读写分离的相关文章

nginx_3_反向代理负载均衡缓存URL重写

LEMP  nginx(FastCgi)+php-fpm location ~* \.php$ {        fastcgi_pass  127.0.0.1:9000;       } nginx配置文件main,  worker_process  error_log  user  group events {  } http {  server{       listen 80;       server_name test.hale.com;       location / {    

Centos7.4 Nginx反向代理+负载均衡配置

Ningx是一款高性能的HTTP和反向代理服务器,配置起来也比较简单. 测试环境: 172.16.65.190 Nginx-反向代理 172.16.65.191 Ningx-Web 172.16.65.192 Nginx-Web 在三台Server安装Nginx: # yum install -y nginx 在172.16.65.190配置Nginx反向代理+负载均衡: # vim /etc/nginx/nginx.conf user nginx; worker_processes auto;

nginx反向代理负载均衡简述

基于浏览器实现分离案例if ($http_user_agent ~ Firefox) {rewrite ^(.)$ /firefox/$1 break;}if ($http_user_agent ~ MSIE) {rewrite ^(.)$ /msie/$1 break;}if ($http_user_agent ~ Chrome) {rewrite ^(.*)$ /chrome/$1 break;} 防盗链案例:location ~* .(jpg|gif|jpeg|png)$ {valid_r

25,Nginx反向代理负载均衡

1,什么是反向代理1,代理顾名思义就是代理某人去做某事,比如律师代理,中介代理.往往你不能直接自己做的事,都需要找代理 2,为什么要用反向代理1,在没有代理服务器之前,用户访问web服务器是如下图:2,在实际业务生成环境中,比如我们访问web服务器,在用户和服务器直接往往有一台或者多台代理服务器用来转发你的访问请求,代你去访问web服务器,然后将结果返回给用户.当你只有一台web服务器的时候,这种代理看起来其实意义不大,用户直接访问web服务器不是更快?但生产中不仅仅一台web,这个时候用代理来

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

项目实战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 回到顶部 实验一:实现反向代理负载均衡且

如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器

Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动发现.它可以让我们更加专注于应用的开发,而不是基础架构.Weave 提供了一个如此棒的环境,仿佛它的所有容器都属于同个网络,不需要端口/映射/连接等的配置.容器中的应用提供的服务在 weave 网络中可以轻易地被外部世界访问,不论你的容器运行在哪里.在这个教程里我们将会使用 weave 快速并且简单

Centos 7配置nginx反向代理负载均衡集群

一,实验介绍 利用三台centos7虚拟机搭建简单的nginx反向代理负载集群, 三台虚拟机地址及功能介绍 192.168.2.76    nginx负载均衡器 192.168.2.82    web01服务器 192.168.2.78    web02服务器 二,安装nginx软件(以下操作三台虚拟机都要进行)1,安装依赖软件包命令集合 yum -y install openssl openssl-devel pcre pcre-devel gcc 2,安装nginx软件包命令集合 mkdir

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 协议下发行.其特点是