zoukankan      html  css  js  c++  java
  • nginx配置文件

      nginx配置文件:一般默认在nginx安装目录下的conf/nginx.conf

      conf文件一般分为以下几个模块:

      1. 全局 块

      2. events 块

      3. http 块

      4. server 块

      5. location 块

      

      error_page命令用法:  error_page code [=[response]] uri

      code是http响应码,比如404,500等;response是将code转化为指定的码返回给请求方;uri可以是路径(以nginx安装路径下的html目录为根路径的相对路径),或者网址。

      比如 error_page 404 =499  /404.html

      表示404错误码时,返回给客户端499的错误码,并且读取 html/404.html 文件。

      如果错误页不想是在html目录为跟路径的相对路径,可以在location模块做一层映射:比如文件放在/data/www/404.html

    error_page  404  /404.html;
    
    location = /404.html {
         root   /data/www/;
    }

      改了conf,重启服务后,发现访问返回404错误页成功。但是如果访问php脚本,并没有跳到想要的404错误页。

      这里需要配置一个选项,fastcgi_intercept_errors on;(在server或者location模块中写都可以。)

      

      ----

      配置location块 重要

      语法结构:location [ = | ~ | ~* | ^~ ]  uri {...}

      其中uri是可以包含正则表达式的字符串。

      几个可选项的说明如下:

      = : 请求字符串与uri 严格匹配,uri不能含有正则。如果匹配成功,直接处理,不再想下查找匹配了。

      ~ : 用于表示uri包含正则,并且区分大小写

      ~* : 用于表示uri包含正则,并且不区分大小写

      ^~ : uri不能含有正则,找到和请求字符串匹配度最高的location,直接使用,不再使用其他location块中的正则uri和请求串匹配。

      显然,请求的字符串和location块中的uri,很可能是1对多的,nginx是怎么取舍的,什么优先级呢。简单说下:

      没有可选项时,nginx服务器首先在server块的多个location块中搜索是否有普通的uri(无正则)和请求串匹配,如果有多个能匹配,就记录匹配度最高的一个。

      然后,再去搜索正则的uri和请求串进行匹配,如果找到第一个正则uri匹配成功,则选取该location,停止匹配,如果没有正则uri匹配上,则选取之前普通uri匹配度最高的那个。

    -----------

       基于IP配置nginx的访问权限

      两个指令

      1. allow

      2. deny

      语法结构: allow  address | CIDR | all ;

      address : 表示IP地址;

      CIDR : 表示前32位是IP地址,后边表示前多少位是网络部分,区分网络号和主机号。比如192.168.1.1/24 

      all : 表示全部允许或者拒绝。

      注意优先级:nginx配置再解析的过程中,遇到allow或者deny是按照顺序进行检查的。如果遇到匹配的配置,就停止继续向下搜索了。

      一个例子:IP 192.168.1.2 是允许访问的。匹配到中间的allow,就OK了,不向下走。

    location / {
       deny  192.168.1.1;
       allow  192.168.1.0/24;
       deny   all;
    }

    -----------

      

      

  • 相关阅读:
    图像边界扩展
    数据增强之图像旋转及坐标对应(附代码)
    Opencv中的阈值函数
    linux下C++遍历文件夹下的全部文件;Windows/Linux下C++批量修改文件名,批量删除文件
    提取内环图像
    linux中tab键不能补全,却能切换窗口
    Mathtype部分数学符号不能显示,只能显示方框时的解决办法
    Qt运行不出现界面
    直方图处理
    DTCMS自定义标签:面包屑导航,栏目中通过栏目调用名称获得栏目名称
  • 原文地址:https://www.cnblogs.com/firstForEver/p/6753826.html
Copyright © 2011-2022 走看看