简单入门nginx,java程序员必备的知识

概述

nginx就是反向代理服务器

Nginx 已经在俄罗斯最大的门户网站── Rambler Media上运行了3年时间,同时俄罗斯超过20%的虚拟主机平台采用Nginx作为反向代理服务器。
在国内,已经有 淘宝、新浪博客、新浪播客、网易新闻、六间房、56.com、Discuz!、水木社区、豆瓣、YUPOO、海内、迅雷在线 等多家网站使用 Nginx 作为Web服务器或反向代理服务器。

Nginx优点

  1. 跨平台:Nginx可以在大多数Unix like OS 编译运行,而且也有Windows的移植版本。
  2. 配置异常简单,非常容易上手。配置风格跟程序开发一样,神一般的配置。
  3. 非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数.(这得益于Nginx使用了最新的epoll模型)。
  4. master/worker结构:一个master进程,生成一个或多个worker进程
  5. 内存消耗小:处理大并发的请求内存消耗非常小。在3万并发连接下,开启的10个Nginx 进程才消耗150M内存(15M*10=150M)
  6. 成本低廉:Nginx为开源软件,可以免费使用。而购买F5 BIG-IP、NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币
  7. 内置的健康检查功能:如果 Nginx Proxy 后端的某台 Web 服务器宕机了,不会影响前端访问。
  8. 节省带宽:支持 GZIP 压缩,可以添加浏览器本地缓存的 Header 头。
  9. 稳定性高:用于反向代理,宕机的概率微乎其微

正向代理与反向代理

正向代理

正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取的内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

用途

​ (1)访问原来无法访问的资源,如google

​ (2) 可以做缓存,加速访问资源

​ (3)对客户端访问授权,上网进行认证

​ (4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理

在服务器端接收客户端的请求,然后把请求分发给具体的服务器进行处理,然后再将服务器的响应结果反馈给客户端。Nginx就是其中的一种反向代理服务器软件。

作用

​ (1)保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问地址,Web服务器是内网

​ (2)负载均衡,通过反向代理服务器来优化网站的负载

简单来说

正向代理:客户端知道服务器端,通过代理端连接服务器端。代理端代理的是服务器端。
反向代理:所谓反向,是对正向而言的。服务器端知道客户端,客户端不知道服务器端,通过代理端连接服务器端。代理端代理的是客户端。代理对象刚好相反,所以叫反向代理。

客户端访问nginx是正向代理的过程,nginx访问服务器是反向代理的过程

负载均衡

负载均衡一般就是指我们的服务假如是集群部署,想要对外提供统一的一个访问地址,这时候需要用Nginx,但是集群必然是多个服务,这个时候我们一般不希望用户每次访问都代理到一个服务器上,这样那个服务器压力就会很大,起不到集群作用,这时候就可以通过Nginx配置负载均衡。

应用场景:可以通过Nginx作为网关进行反向代理,现在很多程序流行集群部署,这时候就会产生一个问题,假如三个服务集群,我想要用一个域名访问,这个时候可以通过Nginx单独出来一个服务器,然后进行配置其他三台服务器ip,而对外只暴露域名即可,至于通过域名访问到三个服务器其中的哪一个,这个由Nginx来设置。

动静分离

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。

单机项目的话一般我们都是将html跟后端项目放到tomcat,假如并发量过大,tomcat肯定会压力过大,这时候可以考虑将html这些前端静态资源放到单独的静态文件存储系统,从而起到分担tomcat压力作用。

使用nginx可以将动静的请求分开,分别访问对应的资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值