• nginx的配置


    以nginx.conf 的配置为例:

    user nobody ; 进程的启动用户

    worker_processes  auto; work进程的个数,auto 表示 会自动根据cpu 的个数来决定开启多少 worker 进程。nginx 进程由 master and worker 组成,master 负责 读取配置文件,控制work 进程的开启和关闭,worker 进程负责处理客户端过来的访问请求。

    worker_rlimit_nofile 1000000;  每个worker 进程 打开的最大文件数。

    log_format main '$client_addr/$remote_addr ;  自定义日志格式,以format 后边跟的名字来区分。

    access_log  logs/access.log  main;  调用自定义的日志格式。

    error_log  logs/error.log  debug; 定义错误日志的存放位置 以及输出哪一级别的错误日志, error 代表输出 error 以及其级别以上的日志才输出,debug 代表debug 级别及其以上的输出。  日志级别分为八级,分别是   debug,info,notice,warn , error ,,critical ,alter, emergency。

    listen     192.168.90.109:80;  监听端口

    server_name  _;   主机名, 下划线代表的是 未在 配置文件里定义的主机,如果想实现未定义的主机名不允许访问的话,可以用下划线代表,而后配置 return 403 ,即可实现。

    server_name   "";  代表空主机名,区别于未定义的主机名。

    return 301 https://$server_name$request_uri;  实现301 或302 跳转, 如 可以 配置  将http 的访问 变成对 https 的访问, return 所在的server 监听的是80 口,而后再重新配置一个监听443 端口的,即可实现http to https 。

    ssl_certificate  file;

    ssl_certificate_key  ;  配置监听Https 服务的证书文件和key 文件。

    set $custom_log 1;  自定义变量。

    set_by_lua $client_addr 'return ngx.var.http_srccliip or ngx.var.remote_addr';  通过lua 命令自定义变量,注意return ,都需要有一个返回值 赋值给新的变量。

    set_by_lua_file $reqid  “lua_file”;  通过lua 文件定义变量,注意lua 脚本里要有返回值,将其赋值给新的变量。

    header_filter_by_lua 'ngx.header.Foo = ngx.var.custom_log';  用Lua 命令来自定义 响应头。这样会在响应头里增加一个Foo,其值为 custom_log 变量的值。

    header_filter_by_lua_file  ‘head_lua’;  用Lua 文件来自定义响应头,语法  

    ngx.header["Access-Control-Allow-Credentials"] = "this is my header"  或跟变量,如 ngx.var.host

    error_page 定义 ,语法 请求返回的状态码包含在erorr_page 后的范围里的,将请求重定向最后的 url,并重新定义返回的状态码,如

    error_page 500 502 503 504 =200 @jump_to_error;

    返回@的页面,状态码标为200。 @类似于一个location 。

    error_page 500 502 503 504  @jump_to_error;

    返回@页面,状态码是前边的5xx.

    error_page 500 502 503 504  =@jump_to_error;

    返回@页面,状态码是@结果的状态码

    if 判断:

    if ($uri ~ .*.mp4$) {

      Return 403;

    }

    ~*  不区分大小写匹配

    ~   区分大小写

    ^$  严格配置

    ^  开头匹配

    $  结尾匹配

    Nginx 配置文件分三级,Http  server  location,如要配置虚拟主机,可在 http 的级别里,与server 同级别,增加 如  include vhost/*.conf ,而后在 vhost/ 目录下 以。conf 结尾的配置文件就会被 nginx 读取到。

    拒绝或允许某ip 访问

    Deny  192.168.90.109;

    Allow all;  可以是server 级别的,也可以是location 级别的。

    Proxy_pass  定义反向代理。

    upstream ; 定义反向代理里的后端ip,支持做健康检查,以及 根据某一规则hash 。

    健康检查用的是upstream http check 模块,语法如下:

    upstream proxy1{                                      ; 自定义代理的名字,以供 proxy_pass 调用。

       consistent_hash $uri$arg_hash$arg_start$arg_end;     根据某一原则hash, 

       server 172.16.114.21:80 id=2 fail_timeout=5 max_fails=3 ;   定义后端真是服务器的ip,端口,以及Id 等, 这一条配置的意思是  失败三次后,5s内不会再被探测。

     check interval=3000 rise=2 fall=5 timeout=1500 type=http default_down=false;探测间隔3s,单位ms,连续两次成功判断为成功,每次探测超时时间是1.5s,用http 协议探测,默认将后端服务器认为是存活的。

       check_http_send "HEAD /status.html HTTP/1.1 Connection: keep-alive ";  探测的命令。

       check_http_expect_alive http_2xx http_3xx http_4xx; 探测成功的状态码。

       keepalive 32;

    check_status ; 可用来查询upstream 里的后端健康情况。页面显示,同时支持自定义参数。

    nginx 报 如下错误:

    nginx: [warn] low address bits of 182.201.241.14/26 are meaningless in /usr/local/refreshd/conf/vhost/monitor.conf:8

    认为 掩码划分不对,正确应该是0/26 段 或 65/26 ,  可忽略,  能生效,测试过。

  • 相关阅读:
    时间戳(1532249295.179) 转日期格式(2018/07/22 16:48:15 179)
    iscroll.js右侧可滑动的菜单,点击每个菜单都会出现本菜单的详情
    canvas绘制的文字如何换行
    移动端H5页面禁止长按复制和去掉点击时高亮
    一列宽度不缩放,一列宽度弹性缩放,且超出后显示省略号
    js钩子机制(hook)
    mCustomScrollbar.js 漂亮的滚动条插件 适应内容自动更新
    axios.js 实例 -----$.ajax的替代方案
    用 async/await 来处理异步实例
    C#入门经典第18章-WEB编程
  • 原文地址:https://www.cnblogs.com/brucewhite/p/8845459.html
Copyright © 2020-2023  润新知