关于keepalive

有时我们需要用到nginx的 反向代理 (比如:跨域),此时需要“长连接”!其注意事项有两点:

  1. 从client到nginx的连接是长连接
  2. 从nginx到server的连接时长连接

默认情况下,nginx已经开启了对client的keepalive支持,但一些场景下,仍然需要我们手动调整参数重写一下:

http{keepalive_timeout   超时值 响应header;keepalive_request  数量值;
}

代码中:

  • 超时值——keepalive客户端连接在服务器端保持开启的超时值(默认75s),值为0时,将禁用keepalive连接;
  • 响应header——(可选)在响应的header域中设置一个值 Keep-Alive:timeout=time
  • 数量值——设置一个keepalive连接上可以服务的请求的最大数量(当达到值时,连接被关闭(默认值100))

保持和server的长连接

默认nginx访问后端都是短连接(也就是“典型的HTTP1.0”),为了让nginx和后端server之间保持长连接,可以如下配置:

http{upstream BACKEND{server 192.168.0.1:8080 weight=1 max_false=2 fail_timeout=30s;server 192.168.0.2:8080 weight=1 max_false=2 fail_timeout=30s;keepalive 300;}server{listen 8080 default_server;server_name:"";location /{proxy_pass http://BACKENDproxy_set_header Host $Host;proxy_set_header x-forwarded-for $remote_addr;proxy_set_header X-Real-IP $remote_addr;add_header Cache-Control no-store;add_header Pragma no-cache;proxy_http_version 1.1;       //很重要!proxy_set_header Connection "";}}
}

代码中:

nginx官方上说:当这个数量被突破时,最近使用次数最少的链接将被关闭(译)

nginx配置HTTPS

server{listen    80  default_server;listen   443 ssl;server_name  cjxnsb.cn;root /mxc/UCgzs;index    1.html 2.html 3.html;ssl_protocols                   TLSv1 TLSv1.1 TLSv1.2;ssl_certificate                 /usr/local/nginx/conf/server.pem;ssl_certificate_key             /usr/local/nginx/conf/server.key;ssl_session_cache               shared:SSL:10m;ssl_session_timeout             10m;ssl_ciphers ALL:!kEDH!ADH:RC4+RSA:+HIGH:+EXP;ssl_prefer_server_ciphers       on;...
}

第13行:ssl_ciphers ALL:!kEDH!ADH:RC4+RSA:+HIGH:+EXP;是nginx的优化之一:删去效率低下的kEDH加密算法!

Nginx负载均衡

当一个域名指向多台web服务器,添加一台nginx负载均衡服务器,将客户端请求“平均”发送给每台web服务器,避免单台服务器因负载过高而其余服务器空闲而出现的损失

新建配置文件:

vi /etc/nginx/conf.d/test.conf

添加内容:

upstream test{                        #有多个文件,此处配置多个(test——自定义名)ip_hash;server 192.168.0.1:80  weight=100;server  192.168.0.2:80  weight=50;
}
server{listen   80;server_name  cjxnsb.cn;location /{proxy_pass http://test;proxy_set_header    Host $host;proxy_set_header X-Real-IP   $remote_addr;proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;}
}

upstream配置多个,则下面location /前面要添加对应数量的location ~ 配置名
内部写法和location / 里异曲同工

然后,重载nginx配置:

nginx -t                  #一般都要先写这个——验证nginx配置更新
nginx -s reload          #重载

Nginx优化之长连接/https/负载均衡相关推荐

  1. 千亿流量拦截控制处理技术-Nginx(安装 命令 路由匹配 负载均衡 常用配置)

    千亿流量拦截控制处理技术-Nginx Nginx使用与配置 1 什么是nginx 1.1 可大量并行处理 1.2 与 Apache 相比 1.2.1 Apache VS Nginx 1.2.2 常用w ...

  2. Nginx中保持长连接的配置

    哎,老转载王了,原博客地址:https://www.cnblogs.com/kevingrace/p/9364404.html 在Nginx中,对于http1.0与http1.1是支持长连接的.htt ...

  3. Nginx总结(反向代理、负载均衡、动静分离)篇

    一.Nginx简介 什么是Nginx Nginx ("engine x")是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上ngimx,的并发能力确实在同 ...

  4. 在Linux上使用Nginx为Solr集群做负载均衡

    在Linux上使用Nginx为Solr集群做负载均衡 在Linux上搭建solr集群时需要用到负载均衡,但测试环境下没有F5 Big-IP负载均衡交换机可以用,于是先后试了weblogic的proxy ...

  5. F5/LVS/Nginx/HAProxy硬软件级网络负载均衡介绍

    F5/LVS/Nginx/HAProxy硬软件级网络负载均衡介绍 1 硬件级的负载均衡 常见的商用硬件负载均衡器:NetScaler.F5.Radware.Array 优点: 1)专业团队维护,能够直 ...

  6. 用Nginx搭建IIS集群实现负载均衡

    长话短说,我们用Nginx来搭建一个简单的集群,实现Web应用的负载均衡,架构图如下: 两台Web服务器,一台静态资源服务器,因为是演示,我们以网站形式部署在本机IIS中 一台Nginx代理服务器,安 ...

  7. Centos6.2上做nginx和tomcat的集成及负载均衡(已实践)

    Centos6.2上做nginx和tomcat的集成及负载均衡 ---------------------------------------------------------Jdk-------- ...

  8. nginx Win下实现简单的负载均衡(2)站点共享Session

    快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...

  9. Nginx教程系列五:实现负载均衡配置

    文章目录 1. 案例 1.1 环境准备 1.2 实现效果 1.3 修改Nginx配置文件 1.4 测试 2. 负载均衡策略对比 2.1 轮询 2.2 权重 2.3 iphash 2.4 fair 1. ...

最新文章

  1. ArcGIS问题:如何定义坐标系
  2. C#程序输出信息到调试窗口的几种方式
  3. box-sizing:border-box
  4. java自动生成类_自动生成优化的Java类专业知识
  5. SQLServer数据库增、删、改、查简单操作示例
  6. 设计模式之GOF23备忘录模式
  7. Linux内核那些事之连接跟踪
  8. 模拟软件-OLED及Solar cell的模拟软件(Absorption模块)-[Setfos]
  9. 计算机系统时microsoft账号是,电脑microsoft账户登不进去
  10. 前端福利!layui可视化布局
  11. 计算机丢失mscvr,教大家计算机丢失Msvcr100.dll的解决方法
  12. Java对文件进行加密解密操作
  13. elasticsearch查看版本号
  14. vue项目引入typescript(vue与ts混用)
  15. ct上的img表示什么_X线/CT/MR影像片子上的标识你是否都认识?
  16. 车载网络结构(车内)-基础概念
  17. Spring boot 整合Spring Security Jwt
  18. linux挂载img镜像文件,如何挂载.img格式的镜像
  19. C++数组去重与排序
  20. 如何对测试团队进行管理?我从5个方面总结了一下

热门文章

  1. ha456 jar下载 免费 亲测有效
  2. 使用Speech Synthesis API 做语音播放
  3. Android数据存储:数据库基础,在Android应用中使用数据库,附加Menu菜单选项的一些说明
  4. 免费新闻采集工具之免费采集伪原创发布工具方法分享
  5. DNR脑神经递质5合3阶段再生疗法的适用范围
  6. 亚马逊基础名词汇总跨境电商入门小白必备!
  7. python面板数据模型操作步骤_任何有效的方法来建立面板数据的回归模型?
  8. 妙赞大讲糖:引起糖尿病的原因
  9. fog(雾)和haze(霾)区别
  10. muduo库net源码分析六(Socket 封装)