NGINX的几个应用场景

两个参考地址:

NGINX的百度百科:https://baike.baidu.com/item/nginx/3817705?fr=aladdin

NGINX的中文网站:http://www.nginx.cn/doc/

一、Web服务器

场景需求

网站实现动静分离,目的是让网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。

安装在服务器上得(Linux服务器)http和反向代理服务组件,是一个负载均衡服务,用户访问服务器尤其在高并发得时候很有作用,可以用户访问静态资源和动态请求分开,分配给不同得执行单元,提高响应速度;

实现方式

使用静态服务器及反向代理2个功能,静态资源由NGINX本地提供,动态的资源反向代理到后端的TOMCAT提供,其中TOMCAT可以和NGINX在同一台服务器也可以在不同服务器上 。


二、反向代理

场景需求

业务服务器不能直接被外部网络访问,即不能直接映射外网ip,需要一台代理服务器,而代理服务器能被外部网络访问同时又和业务服务器网络联通。

实现方式

使用反向代理功能,将NGINX服务器映射外网ip,业务服务器无需映射外网ip,外网用户访问时首先访问NGINX服务器,然后再由NGINX服务器访问业务服务器资源后转发给用户,目前主流推荐采用此方案,这样既满足了业务需外网访问的需求,又满足业务服务器的安全。


三、统一访问入口

场景需求

多套业务系统需使用同一个ip或者域名进行访问,以不同后缀进行区分,需要一台NGINX服务器做统一的访问入口。

实现方式

使用反向代理功能,将所有NGINX服务器作为外网或内网用户统一的访问入口,然后根据设置的localtion规则匹配不同的后缀转发至不同的业务服务器。通常和上一个反向代理场景结合使用实现使用一个域名来访问多个业务系统,同时甚至还可以实现统一的https访问,实现方式为在NGINX服务器上配置证书,后端所有业务服务器无需每台额外配置证书即可实现https访问。

四、负载均衡

场景需求

主流分布式架构方案中实现将请求按一定的策略分发至后端多台业务服务器,实现业务服务的高可用及高并发。

实现方式

实际相当于使用反向代理和负载均衡2个功能,根据配置的url后缀规则转发至upstream中各服务器列表,默认按轮询策略,同时还支持权重和ip_hash ,有redis缓存登录seesion的方案中推荐使用轮询策略,否则使用ip_hash策略实现同一ip的用户请求固定至后端同一台服务器


五、解决浏览器跨域问题

场景需求

跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。跨域有很多解决办法,NGINX只是解决办法其中之一,适用于不改目标服务器配置,又能提供搭建一个中转NGXIN服务器的场景。

实现方式

使用NGIXN反向代理功能,如下图某项目实际案例,需实现访问主程序业务服务A中首页桌面嵌套业务服务B的相关页面,使用NGINX作为统一入口,当配套到业务服务A嵌套页面url后缀时转发至业务服务B。相当于NGINX服务器欺骗了浏览器,让它认为这是同源调用,从而解决了浏览器的跨域问题。此案例中3个服务在同一台服务器上也产生跨域问题,针对3个服务在不同服务器的场景此方案也适用,原理是一样的。


六、行为分析

场景需求

需统计整个系统访问的浏览器信息、IP、地理位置、操作系统等信息作为项目上大数据展示的初始数据来源。

实现方式

通常搭配反向代理、统一访问入口的场景,使用NGINX的日志及地理位置库插件来采集信息,然后由eCloud平台进行初步分析后供大数据平台采集和展示。主流发布的一键部署包已包含地理位置库插件。

转载于:https://www.cnblogs.com/wmqiang/p/10565052.html

NGINX的几个应用场景相关推荐

  1. 如何让多端口网站用一个nginx进行反向代理实际场景分析

    前段时间公司要整合服务器资源,刚好趁这次机会将这些乱七八糟的服务器做一次梳理和整合,断断续续一个月迁移完成大概优化掉了1/3的机器,完成之后遇到了一些问题,比如曾今零零散散部署在生产上一些可视化UI: ...

  2. host 端口_如何让多端口网站用一个nginx进行反向代理实际场景分析

    前段时间公司要整合服务器资源,刚好趁这次机会将这些乱七八糟的服务器做一次梳理和整合,断断续续一个月迁移完成大概优化掉了1/3的机器,完成之后遇到了一些问题,比如曾今零零散散部署在生产上一些可视化UI: ...

  3. nginx ats squid varnish使用场景对比介绍

    下面,我们将介绍自建CDN的具体建设规划,主要从以下几个方面进行考量:硬件成本.带宽成本.架构设计.实际部署. 硬件成本 在硬件上,我们选型的需求是在1U的基础上具有强劲的性能,同时性价比要高. 相关 ...

  4. Nginx 负载均衡服务失败场景

    nginx可以配置负载均衡,我们可以通过配置实现nginx负载均衡.这里部署了两个服务producter-one和producter-one2. upstream proxyproducter-one ...

  5. Nginx的5大应用场景

    一.HTTP服务器 Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,如果一个网站只是静态页面的话,那么就可以通过这种方式来实现部署. 1. 首先在文档根目 ...

  6. 如何快速实现一个基于Nginx网站的监控场景

    一切从应用服务监控说起 小明所在的一家小型互联网创业公司一直将应用运行在阿里云上.该应用采用通用的分布式 Nginx+App 架构为用户提供电商数据统计的 webservice 服务.应用运行至今除偶 ...

  7. 如何快速实现一个基于Nginx的网站监控场景 – 操作篇

    本文介绍ARMS如何实现Nginx的监控场景,对于ARMS本文主要解决的问题,还记得小明的老板给他布置的任务吗?需求回顾 1. ARMS的Nginx监控方案概述和准备 目前在监控领域上比较流行的数据处 ...

  8. 如何基于ARMS快速实现一个基于Nginx的网站监控场景 – 操作篇

    原文链接 本文介绍ARMS如何实现Nginx的监控场景,对于ARMS本文主要解决的问题,还记得小明的老板给他布置的任务吗?需求回顾 1. ARMS的Nginx监控方案概述和准备 目前在监控领域上比较流 ...

  9. 《深入理解Nginx:模块开发与架构解析》一1.2 为什么选择Nginx

    1.2 为什么选择Nginx 为什么选择Nginx?因为它具有以下特点: (1)更快 这表现在两个方面:一方面,在正常情况下,单次请求会得到更快的响应:另一方面,在高峰期(如有数以万计的并发请求),N ...

最新文章

  1. 免费在线共享思维导图敏捷开发工具Leangoo
  2. macbookair有没有touchbar_买 MacBook Pro 到底要不要选 Touch Bar 版?看清需求后再下手...
  3. High Performance之android高性能之路
  4. 2021Java就业笔试题总结
  5. vs官方使用教程中文版与英文版
  6. 浪潮服务器nf5280m2安装系统,破茧化蝶之作 浪潮NF5280M2服务器评测
  7. mysql 5.7.18源码包下载_centos 7 下MySQL 5.7.18 源码安装
  8. [含论文+源码等]javaweb银行柜员业务绩效考核系统
  9. 鼓形齿的计算机械设计标准,鼓形齿设计主要尺寸计算
  10. 发票验真API开发文档
  11. Cortex-M3 (NXP LPC1788)之EEPROM存储器
  12. 进销存系统设计说明书
  13. 洪水攻击程序c语言,洪水攻击原理及代码实现全攻略(附源代码)病毒防范 -电脑资料...
  14. ajax请求的所有状态码详解
  15. Radare2 框架介绍及使用
  16. RabbitMQ-启动各种报错,windows环境,RabbitMQPlugin configuration unchanged
  17. Statistical learning Week 1 什么是统计学习?
  18. 求职经验丨应届毕业生,如何找到一份程序员工作呢?
  19. 安卓设备门禁识别开发_基于android手机的视频通话门禁控制系统
  20. 新手必看:访问url到加载全过程详解(看完不会我吃shi)

热门文章

  1. java web--servlet(2)
  2. 第十四次ScrumMeeting博客
  3. 使用VC6.0创建和运行C程序的方法
  4. iOS tableViewCell自适应高度 第三发类库
  5. stm32f4 RAM中运行程序 读保护设置
  6. delphi编程模拟发送QQ2008消息!
  7. 正则表达式需要转义的字符
  8. 【支付专区】之解析微信支付返回xml
  9. 你是合格的程序员吗?(欢迎大家自测)
  10. 解决了一个小问题 好像把逻辑有点复杂