zoukankan      html  css  js  c++  java
  • nginx 服务器配置文件指令


     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文件需要使用绝对路径
            
           

  • 相关阅读:
    eclipse 批量 查询 替换
    Hibernate包及相关工具包下载地址
    逻辑运算符&& 用法解释
    主流数据库查找前几条数据的区别
    .propertie文件注释
    java.io.EOFException java.io.ObjectInputStream$PeekInputStream.readFully 错误
    数据库的名称尽量要以英文开头,如果全部输数字的话可能会出错的
    **和*的区别
    puTTY与SecureCRT的比较
    Windows下Redis的安装使用
  • 原文地址:https://www.cnblogs.com/kingle-study/p/9594407.html
Copyright © 2011-2022 走看看