nginx配置文件详解:

server {
    listen 80;
    servername    www.nginx1.com
    
    location / {
        root html;     数据路径
        index index.html index.htm
        }
用户访问www.nginx1.com,访问的是本机html下的目录内容

location /test {
        root /data/www/zabbix;
        }
用户访问www.nginx1.com,访问时本机/data/www/zabbix 下的内容

location /test {
        proxy_pass http://192.168.133.14/bbs;
    }
用户访问www.nginx1.com/test,会将访问的内容转发到后端192.168.133.14/bbs下。
如果要是用正则匹配的话,ip后面可以加端口,但是不能加其他的。
    location /test/ {
        proxy_pass http://192.168.133.14/bbs/;
    }
如上所示,格式必须匹配,访问到192.168.133.14/bbs/下。

如下采用正则方法
    location ~* ^/test {
        proxy_pass http://192.168.133.134;
    }
访问以test开头的路径,会访问到后端服务器www.xxx.com下的test文件下的内容,
做这种正则匹配的时候,proxy_pass后不能加路径,只能加ip或者域名。

location /proxy/ {
        proxy_pass http://10.2.2.1:8080;
    }
访问http://127.0.0.1/proxy/cuffs,nginx匹配到/proxy/路径,
实际请求的服务器是http://10.2.2.1/proxy/cuffs.

~    区分大小写
~*  不区分大小写
^~    做逐字符匹配

wiki.nginx.org
http://xinklabi.iteye.com/blog/2207127

反向代理:

所有以.php结尾的文件都转发给127.0.0.1
location ~* \.php${
    fastcgi_pass    127.0.0.1:9000;
}
事件驱动相关
http{

}

关于http相关的配置
server{
    listen 80;
    server_name www.magedu.com;
    
虚拟主机
    location [op] URI {
    proxy_pass        后端服务器
    proxy_set_header X-Real-IP $remote_addr;
    
    }
    }
op操作符
通常是匹配文件的
~    区分大小写
~*    不区分大小写,源自符匹配
^~    不做正则表达式,逐字符搜索
=    路径精确匹配

location /form/{
    proxy_pass http://172.10.2.100:8080/bbs/;
    }
访问http://www.magedu.com/forum/
   -->>http://172.10.2.100:8080/bbs/
当访问上面网站时候,转到下面的位置。

当location后面使用OP操作符时,不允许使用后面的/bbs/,保证pass后的ip后无路径
location ~* ^/form {
    proxy_pass http://175.23.10.1:8080;
    }
所有的URL路径以form开头的,都访问到form下
访问 http://www.magedu.com/forum
   --->>-->>http://172.10.2.100:8080/form

upstream 定义指令server之外。负载均衡。必须改变proxy_pass
upstream webserer {
    server 192.168.122.1 weight=1 max_fails=2 fail_timeout=2;
    server 192.168.133.1 weight=2 max_fails=2 fail_timeout=2;
    server 192.13.5.1:8080 backup;使用该项会在前面两台服务器down的情况下,使用该台服务器。
    }
server {
    location / {
        proxy_pass http://webserer/;
        proxy_set_header X-Real-IP $remote_addr;
        }
        
        
        
缓存目录,子目录级别。
nginx:
    cache:共享内存,存储键和缓存对象元数据
            磁盘空间:存储数据
    proxy_cache_path: 不能放到server()里面。

proxy_cache_path /nginx/cache/first level=1:2 keys_zone=first:20m max_size=1G;
                缓存目录    两个目录,第一目录一个字节,第二个目录两个字节 内存区域大小20M 缓存最大1G
在location定义缓存,及其缓存名。

http{
    proxy_cache_path /nginx/cache/first level=1:2 keys_zone=first:20m max_size=1G;
}
location / {
    proxy_pass http://webservers;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_cache first;        该first是缓存的区域名,如果是off,则关闭缓存。
}

rewrite地址重写
location /images/ {
        rewrite http://126.23.2.1/images/
        }
访问www.magedu.com下的images将会重定向到http://126.23.2.1/images/

支持正则表达式
location / {
    root html;
    index index.html;
    rewrite "^/bbs/(.*)/images/(.*)\.jpg$" http://www.mangedu.com/bbs/$2/images/$1.jpg last;

}
访问www.magedu.com下的以bbs开头的文件下的a内容下的images下的b内容  (a,b分别代表任意内容)
将被重定向到该网址的/bbs/b/images/a/内容,如果跟上last
/URL/bbs/a/images/b --->>/URL/bbs/b/images/a/---->>/URL/bbs/a/images/b
last:代表本次重定向后再进行一轮检查
break:代表本次重写完成后,执行后续操作

nginx配置文件解答的更多相关文章

  1. Nginx配置文件nginx.conf中文详解(转)

    ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...

  2. 查看nginx配置文件路径

    进入nginx安装目录(我的是/usr/local/nginx-1.7.8/) 进入sbin目录,输入 ./nginx -t查看nginx配置文件路径以及该文件语法是否正确 ./nginx -v查看n ...

  3. Nginx配置文件详解

    Nginx是一款面向性能设计的HTTP服务器,相较于Apache.lighttpd具有占有内存少,稳定性高等优势. ######Nginx配置文件nginx.conf中文详解##### #定义Ngin ...

  4. 005.nginx配置文件

    1.替换nginx主配置文件 通过前面的配置,LNMP的环境已经搭建完成,现在我们替换nginx配置文件: [root@huh ~]# cd /usr/local/nginx/conf/[root@h ...

  5. nginx配置文件nginx.conf超详细讲解

    #nginx进程,一般设置为和cpu核数一样worker_processes 4;                        #错误日志存放目录 error_log  /data1/logs/er ...

  6. 通过nginx配置文件抵御攻击

    通过nginx配置文件抵御攻击 囧思九千 · 2013/11/12 12:22 0x00 前言 大家好,我们是OpenCDN团队的Twwy.这次我们来讲讲如何通过简单的配置文件来实现nginx防御攻击 ...

  7. Nginx配置文件nginx.conf详细说明

    Nginx配置文件nginx.conf详细说明 #worker_processes 8; #worker_cpu_affinity 00000001 00000010 00000100 0000100 ...

  8. 【转】Nginx配置文件详细说明

    Nginx配置文件详细说明 在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户user www-data;    #启动进程,通常设置成和cpu的数量相等 ...

  9. 一、Nginx配置文件详解

    配置文件介绍 主要有两部分:分别是 main:主体部分 http{}:虚拟主机配置部分 配置指令主要以分号结尾:配置语法:directive value1 [value2 ....] 支持使用的变量 ...

随机推荐

  1. Linux下用matplotlib画决策树

    1.trees = {'no surfacing': { 0: 'no', 1: {'flippers': {0: 'no', 1: 'yes'}}}} 2.从我的文件trees.txt里读的决策树, ...

  2. SQL中的SELECT_简单查询语句总结

    --以scott用户下的dept和emp表为例 --注意:如果scott用户不能使用,请使用system用户登录--解锁scott用户ALTER USER SCOTT ACCOUNT UNLOCK;- ...

  3. spark性能调优--jvm调优(转)

    一.问题切入 调用spark 程序的时候,在获取数据库连接的时候总是报  内存溢出 错误 (在ideal上运行的时候设置jvm参数 -Xms512m -Xmx1024m -XX:PermSize=51 ...

  4. 磁盘格式化mke2fs

    -b 设置每个块的大小,当前支持1024,2048,40963种字节 -i 给一个inode多少容量 -c 检查磁盘错误,仅执行一次-c时候,会进行快速读取测试:-c -c会测试读写,会很慢 -L 后 ...

  5. 实战角度比较EJB2和EJB3的架构异同

    ] EJB编程模型的简化 首先,EJB3简化的一个主要表现是:在EJB3中,一个EJB不再象EJB2中需要两个接口一个Bean实现类,虽然我们以前使用JBuilder这样可视化开发工具自动生成了EJB ...

  6. 基于jmeter和shell的接口性能自动化

    基于jmeter和shell的接口性能自动化 1. 总体需求 由于性能测试中涉及的查询接口多,版本迭代频繁,版本更新后自动跑一轮查询业务的性能,可以及时发现一些开发修复bug触发的非预期的bug,利用 ...

  7. Matlab 图像转极坐标系

    实心圆环 imgVP1=flip(imgVP1,1);  % 水平翻转 polarVP1=polarVolinPlot(imgVP1); % 调用函数空心圆环 [m,n,~]=size(imgVP2) ...

  8. 配置maven报错 the java_home environment variable is not defined correctly ......

    the java_home environment variable is not defined correctly This environment variable is needed to r ...

  9. luogu P1407 稳定婚姻-tarjan

    题目背景 原<工资>重题请做2397 题目描述 我国的离婚率连续7年上升,今年的头两季,平均每天有近5000对夫妇离婚,大城市的离婚率上升最快,有研究婚姻问题的专家认为,是与简化离婚手续有 ...

  10. ArrayList 和 LinkedList 区别。

    1. ArrayList和LinkedList都是实现了List接口的容器类,用于存储一系列的对象引用.他们都可以对元素的增删改查进行操作. 2. ArrayList是实现了基于动态数组的数据结构,L ...