阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Nginx 服务器配置文件指令

191次阅读
没有评论

共计 5279 个字符,预计需要花费 14 分钟才能阅读完成。

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

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计5279字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中