localtion 配置
        语法结构: location [ =  ~  ~* ^~ ] uri{ ... }
        uri 变量是带匹配的请求字符, 可以是不含正则表达的字符串, 也可以是包含正则的字符串
        其中[ ] 中的是可选项 uri 的是必选项: 用来改变请求字符串与uri的匹配方式
        
        =  用于标准uri 前面 , 要求请求字符串与uri严格匹配,如果已经匹配成功,就停止匹配立即处理这个请求
        
        ~  表示uri包含正则表达式 并且区分大小写
        
        ~*  用于表示uri包含正则表达式 不区分大小写
        
        ^~  要求找到表示uri和请求字符串匹配度最高的location, 然后处理这个要求
        
  网站错误页面
        1xx:指示信息--表示请求已接收,继续处理
        2xx:成功--表示请求已被成功接收、理解、接受
        3xx:重定向--要完成请求必须进行更进一步的操作
        4xx:客户端错误--请求有语法错误或请求无法实现
        5xx:服务器端错误--服务器未能实现合法的请求
        http消息    代码    含义
        以移动      301     请求的数据具有新的位置,而且更改是永久的
        重定向      302     请求数据临时位置更改
        无法找到网页 400   可以连接到服务器,但是由于地址问题,无法找到网页
        网站拒绝显示  404  可以连接到网站但是找不到网页
        无法显示该页面 405  可以连接网站,页面内容无法下载,网页编写方式问题
        网站无法显示该页面 500 服务器问题
        未执行          501 没有讲正在访问的网站设置显示为浏览器所请求的网站
        不支持版本      505  请求的协议版本信息
       常见:
        200 OK      //客户端请求成功
        400 Bad Request  //客户端请求有语法错误,不能被服务器所理解
        401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
        403 Forbidden  //服务器收到请求,但是拒绝提供服务
        404 Not Found  //请求资源不存在,eg:输入了错误的URL
        500 Internal Server Error //服务器发生不可预期的错误
        503 Server Unavailable  //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
        eg:HTTP/1.1 200 OK (CRLF)        
    
常见的配置文件说明
        1, error_log file | stderr [debug | info | notice | warn | error | crit | alert | emerg ]
                    debug  --- 调试级别      输出日志信息最全
             info   --- 普通级别      输出提示信息
              notice --- 注意级别      输出注意信息
              warn   --- 警告级别      输出一些无关紧要的错误信息
              error  --- 错误级别      有影响服务正常运行的错误
              crit   --- 严重错误级别   严重错误级别
              alert  --- 十分严重级别   十分严重
              emerg  ---  超级严重      超级严重
        nginx服务器的日志文件输出到某一文件或者输出到标准输出错误输出到stder:
        后面则是跟的日志级别可选项, 由低到高分为debug .... emerg 设置级别后联通高级别也会别记录
        
        2, user user group
        
        配置启动程序的用户 用户 组 希望所有能启动则不写
        
        3, worker_processes number | auto
        
        number 指定nginx进程做多产生woker peocess数
        auto nginx 自动检测进程数
        
        4, pid file
        
        指定pid文件凡在哪里
        pid log/nginx.pid  注意设置的时候要配置文件名,不然找不到
        
        5, include file
        
        包含的配置文件,引入其他的配置
        
        6, acept_mutex on | off
        
        设置网络的连接序列化
        
        7, multi_accept on| off
        
        设置是否允许同时接受多个网络连接
        
        8, use method
        
        事件驱动模型的选择
        
        9, worker_connections number
        
        配置允许每一个workr process 最大连接数, 默认是1024
        
        10, mime-type
        
        配置资源类型,mime-type是网络资源的一种媒体类型
        格式: default_type mime-type
        
        11, access_log path[format[buffer=size]]
        
        自定义服务器的日志
         path: 配置服务器日志文件的存放的路径和名称
         format: 可选项,自定义服务器日志的格式字符串
         size: 配置临时存放日志的内存缓冲区大小
        
        12, log_format name sting ...;
        
        与access_log联合使用 ,专门用于定义服务器日志的格式
        并且可以为格式定义一个名字, 让access_log 方便调用

name : 格式字符串的名字 默认combined
        string 服务日志的格式字符串

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

  $remote_addr     10.0.0.1                    ---访问者源地址信息

    $remote_user       -                               -- nginx服务器惊醒认证访问时,显示的认证信息

    [$time_local]                                          --- 显示访问时间搓信息

    "$request"           "GET / HTTP/1.1"      ---  请求的行

$status                 200                         --- 显示状态吗信息      显示304的话是因为读取缓存

    $body_bytes_sent   256                       --- 响应数据的大小信息

    "http_refer"                                           --- 链接目的地
          "$http_user_agent"                             ---  客户端访问的浏览器信息

    "$http_X_forwarded_for"      简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。它不是RFC中定义的标准请求头信息,在squid缓存代理服务器开发文档中可以找到

  13, sendfile    no | off
        
        配置允许sendfile方式传输文件
        
        14, sendfile_max_chunk   size
        
        配置nginx进程的每个worker_process每次调用senfile()传输数据量最大不能超过的值
        
        15, keepalive_timeout   timeout[header_timeout];
        
        配置连接超时时间
        timeout 服务端对连接的保持时间
        header_timeout, 应答报文头部的keeplive域设置超时时间
        
        16, keepalive_repuests number
        
        单链接请求数上限
        
        17, 配置网络监听
        
        配置监听有三种方法:
            监听IP地址:
            listen address[:port] [default_server] [setfib=number] [backlog=number] [rcvbuf=size]
            [sndbuf=size] [deferred]
            监听配置端口:
            listen port [default_server] [setfib=number] [backlog=number] [rcvbuf=size] [sndbuf=size]
            [accept_file=filter]
            监听socket
            listen unix:path [default_server] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_file=filter]
            [deferred]
            
            address : IP地址
            port: 端口号
            path: socket文件路径
            default_server: 标识符,将此虚拟主机设置为address:port默认主机
            setfib=number: 目前支队freeBSD有用 以前是0.8.44版本监听scoket关联路由表
            backlog=number: 设置监听函数listen()最多永续多少网络连接挂起 freeBSD默认为-1 其他511
            rcvbuf=size: 监听socket接受缓存区大小
            sndbuf=size: 监听socket发送缓存区大小
            deferred :标识符 将accept()设置为Deferred
            accept_file=filter: 设置监听端口对请求的过滤, 自对freeBSD和netBSd 5.0+的游泳
            bind: 标识符 使用独立的bind()处理address:port
            ssl: 标识符,设置绘画连接使用ssl模式进行
        
        18, server_name name
        
        基于名称的虚拟主机配置
        对于多个匹配成功的处理优先级:
            准确匹配server_name
            通配符在开始时匹配server_name成功
            通配符在结尾是匹配server_那么成功
            正则表达式匹配server_name成功
        在上诉匹配模式中被多次匹配会首先处理首次匹配成的清求
        
        19, root path
        
        配置请求的根目录
        web服务器接收到请求后,需要在服务器指定的目录寻找请求资源,
        这个路径就是指定文件目录
        
        20, alias path (location模块中使用)
        
        更改location接收到的URI的请求路径 可以跟着变量信息
        
        21, index file ...;
        
        设置网站的默认首页
        
        22, error_page  code ...[=[response]] uri
        
        设置错误页面信息
        
            code 要处理的http错误代码
            resoonse 可选项 讲code指定的错误代码转化为新的错误代码
            uri 错误页面的路径或者网站地址
        
        23, allow address | CIDR |all
        
        配置基于ip的访问允许权限
        
        address 允许访问客户端的ip 不支持设置多个
        CIDR 允许访问的客户端的CIDR 如185.199.110.153/24
        all 表示所有客户端可以访问
        
        24, deny address | CIDR |all
        
        配置基于ip的访问禁止权限
        
        address 允许访问客户端的ip 不支持设置多个
        CIDR 允许访问的客户端的CIDR 如185.199.110.153/24
        all 表示所有客户端可以访问        
        
        
        25, auth_basic string |off
        
        配置基于密码的nginx访问权限
        
        string 开启认证功能,并配置验证式的指示信息
        
        off 关闭
        
        26, auth_basic_user_file file
        
        配置基于密码访问nginx访问的权限文件
        
        file文件需要使用绝对路径

nginx 服务器配置文件指令的更多相关文章

  1. 2.4 Nginx服务器基础配置指令

    2.4.1 nginx.conf文件的结构 2.4.2配置运行Nginx服务器用户(组) 2.4.3配置允许生成的worker process数 2.4.4 配置Nginx进程PID存放路径 2.4. ...

  2. Nginx 之四: Nginx服务器的压缩功能和缓存功能

    在Nginx服务器配置文件中可以通过配置Gzip的使用,可以配置在http块,server 块或者location块中设置,Nginx服务器可以通过ngx_http_gzip_module模块.ngx ...

  3. 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级

     1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...

  4. Nginx服务器的启动控制

    写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------主要内容包括: nginx服 ...

  5. 启动Nginx、查看nginx进程、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级

    1.启动nginx的方式: cd /usr/local/nginx ls

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

    一.反向代理 正向代理: 客户端要获取的资源就在服务器上,客户端请求的资源路径就是最终响应资源的服务器路径,这就是正向代理.正向代理的特点:就是我们明确知道要访问哪个网站地址. 反向代理: 客户端想获 ...

  7. nginx入门篇----nginx服务器基础配置

    1.nginx.conf文件结构...                         #全局块  events{  ...  }  http                      #http块{ ...

  8. Nginx的配置文件(nginx.conf)解析和领读官网

    步骤一:vi nginx.conf配置文件,参考本博文的最下面总结,自行去设置 最后nginx.conf内容为 步骤二:每次修改了nginx.conf配置文件后,都要reload下. index.ht ...

  9. nginx详细配置文件 (转)

    Nginx的代码是由一个核心和一系列的模块组成, 核心主要用于提供Web Server的基本功能,以及Web和Mail反向代理的功能:还用于启用网络协议,创建必要的运行时环境以及确保不同的模块之间平滑 ...

随机推荐

  1. razor自定义函数 @helper 和@functions小结

    from:http://www.cnblogs.com/jiagoushi/p/3904995.html asp.net Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的 ...

  2. 积分之谜——第六届蓝桥杯C语言B组(国赛)第一题

    原创 标题:积分之迷 小明开了个网上商店,卖风铃.共有3个品牌:A,B,C. 为了促销,每件商品都会返固定的积分. 小明开业第一天收到了三笔订单: 第一笔:3个A + 7个B + 1个C,共返积分:3 ...

  3. angular resolve路由

    import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from "@angular/router&q ...

  4. css css预处理器

    CSS预处理器(css preprocessor) 1.less: 2.sass: 3.scss: 4.stylus 参考: http://hao.jser.com/archive/2507/ htt ...

  5. VS vs2012制作安装包

    VS  vs2012制作安装包 一.参考地址: http://www.3fwork.com/b100/000196MYM014103/

  6. 1、认识Socket

    专业术语定义:(不易理解浏览大体意思即可) 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建立网络通信连接至少要一对端口号(socket).socket本 ...

  7. bitest(位集合)------c++程序设计原理与实践(进阶篇)

    标准库模板类bitset是在<bitset>中定义的,它用于描述和处理二进制位集合.每个bitset的大小是固定的,在创建时指定: bitset<4> flags; bitse ...

  8. Mysql初识数据库《五》初识sql语句

    初识sql语句 有了mysql这个数据库软件,就可以将程序员从对数据的管理中解脱出来,专注于对程序逻辑的编写 mysql服务端软件即mysqld帮我们管理好文件夹以及文件,前提是作为使用者的我们,需要 ...

  9. (转)使用vs调试的时候,如何知道程序阻塞在哪里?

    遇到一个问题,加了两个断点当运行到断点A后,我释放掉了,理想状态应该是在断点B停住,但并没有,程序感觉就像是阻塞了一样请问,这种状况如何知道程序当前是在哪里阻塞着? 回复: 可以让调试器停住,然后在调 ...

  10. kali linux之搜索引擎Shodan

    搜索引擎: 公司新闻动态,重要雇员信息 机密文档/网络拓扑 用户名密码 目标系统软硬件技术架构 Shodan:搜索联网的设备(iot)https://www.shodan.io/ banner:htt ...