• nginx配置文件简单说明


    # 处理请求的进程个数(干活的进程数),线上服务建议设置为1,设置大于1不能提升nginx的代理性能,甚至性能会更低,但nginx如果要进行大量cpu运算工作,则可以设置为cpu核心数
    worker_processes 1;
    events {
      # 每一个worker的最大连接数,如果设置大于操作系统最大文件打开数量,则需要修改ulimit
      worker_connections 1024;
    }
    http {
      # 存储server_name的大小,出现“could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32”后再进行修改即可
      server_names_hash_bucket_size 64;
      # mime.types包含了绝大部分的“Content-type”,没必要修改
      include mime.types;
      # 访问io流编码(本地文件或接口),线上环境设置为utf-8
      charset gbk,utf-8;
    
      # 是否采用sendfile方式传输,启用就完了,默认会采用read/wirte模式
      sendfile on;
      # 接口存活时长,单位秒
      keepalive_timeout 65;
    
      # 下面这些是把当前request中的一些请求头传入下一层
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      # 获取用户真实ip
      set_real_ip_from 0.0.0.0/0;
      real_ip_header X-Forwarded-For;
    
      # 服务器组定义,建议都加上权值
      upstream websocket {
        # 默认启用的服务ip,max_fails和fail_timeout表示再10秒内错误一次,则表示服务不可用,启用backup服务
        server 192.168.0.11:8080 weight=100 max_fails=1 fail_timeout=10s;
        # backup标记代表是备用服务器,如果主服务器不可用,则会分发到备用服务器
        # websocket可以先采用这个方式,保证用户只会连接到一台服务器上
        server 192.168.0.12:8080 weight=100 backup;
      }
    
      server {
        # 监听的端口号
        listen 8089;
        # 需要证书认证,如果不需要,删掉即可
        # 如果配置了需要证书,那么需要配置证书的公钥和私钥
        ssl on;
        server_name localhost;
    
        # 证书公钥
        ssl_certificate      4480050_www.baidu.com.pem;
        # 证书私钥
        ssl_certificate_key  4480050_www.baidu.com.key;
    
        proxy_read_timeout 100;
        location /ws {
          # 这个是websocket代理的配置 如果是websocket的代理,则必须加上下面三条
          proxy_http_version 1.1;
          proxy_set_header Upgrade "websocket";
          proxy_set_header Connection "Upgrade";
    
          #error             # 与服务器建立连接,向其传递请求或读取响应头时发生错误;
          #timeout           # 在与服务器建立连接,向其传递请求或读取响应头时发生超时;
          #invalid_header    # 服务器返回空的或无效的响应;
          #http_500          # 服务器返回代码为500的响应;
          #http_502          # 服务器返回代码为502的响应;
          #http_503          # 服务器返回代码为503的响应;
          #http_504          # 服务器返回代码504的响应;
          #http_403          # 服务器返回代码为403的响应;
          #http_404          # 服务器返回代码为404的响应;
          #http_429          # 服务器返回代码为429的响应(1.11.13);
          #non_idempotent    # 通常,请求与 非幂等 方法(POST,LOCK,PATCH)不传递到请求是否已被发送到上游服务器(1.9.13)的下一个服务器; 启用此选项显式允许重试此类请求;
          #off               # 禁用将请求传递给下一个服务器。
    
          # upstream触发规则配置,满足指定后面的情况才会执行执行upstream规则
          # 不建议其它状态进行重试,可能只是服务出现错误,如果重试会造成多次执行,比如多次派车,多次发短信等
          # 如果是400系列错误,无论访问多少次也是一样,也不建议添加400系列
          proxy_next_upstream error http_502 http_503 http_504;
    
          # 使用服务器组进行访问,会根据权值分配对应服务器
          # 注意,如果以"/"结尾,nginx会忽略掉location配置的地址
          # 例如:https://www.baidu.com/ws/123,忽略掉后,访问到服务的地址为:https://192.168.0.17:8080/123,不忽略的地址为:https://192.168.0.17:8080/ws/123
          proxy_pass http://websocket;        
        }
      }
    }
     
  • 相关阅读:
    java 面试每日一题2
    java 面试每日一题
    java GUI画满天星
    java JPEGImageEncoder;图像处理
    spring mvc+myBatis配置详解
    myeclipse 常用快捷键总结
    Java 如何快速序列化
    java UUID
    vue +echarts树状图
    在线预览(pptx、ppt、pps、docx、doc、xlsx、xls)
  • 原文地址:https://www.cnblogs.com/cash/p/13841906.html
Copyright © 2020-2023  润新知