Java nginx是Java后台开发最常用最入门的技术吗?

    xiaoxiao2022-07-04  128

    nginx并不是一门技术,而是高性能的反向代理服务器,但是nginx的配置确实是一门技术活!

    nginx使用C语言进行开发,可以说跟JAVA没半毛钱关系,也可用在PHP服务器开发,大数据等领域!

    但是因为JAVA在开发web服务器中占比十分之高,而高性能的后台服务却少不了nginx的参与,所以JAVA程序员不得不学习nginx原理和使用!

    先来看下什么是nginx?

    nginx是一种轻量级,高性能,易配置,稳定度高的反向代理服务器,只需要简单的配置就可以得到一台具有负载均衡功能的稳定服务器!

    nginx有什么用?

    1,反向代理:nginx的反向代理模式,能让客户端感知不到真正的服务器的存在,所有的请求都全部落在nginx服务器上,由nginx基于一定的策略进行请求转发到不同的服务器上

    2,负载均衡:所有落在nginx中的请求使用配置所得的负载均衡策略进行转发到不同服务器上,负载均衡方式有:轮询,权重,ip hash等方式供用户选择。负载均衡解决了单台应用存在的性能瓶颈!

    3,支持高并发:诸如tomcat这样的应用服务器不能支持大量的连接,(貌似tomcat9改进了?)在高并发环境容易崩溃,而nginx是基于epoll模型的异步非阻塞服务器,只有当连接中有io事件的时候,才会通知进程进行处理,既避免了频繁创建和销毁线程的开销,又没有维持多个长连接的内存开销,所以nginx能支持十万,百万级并发!

    4,静态服务器,用的不多!

    怎么用nginx?

    真的很简单,配置几行就能体验高性能的服务器,自行百度!

    为什么要学nginx?

    1,因为性能好,原因如上。。

    2,因为面试要问,不仅问反向代理,负载均衡,均衡策略,如何配置,如何优化等等?

    总之,nginx之所以高效,是因为底层模型很高效,打算改天详细说下epoll模型,用来应付面试还是极好的,敬请关注。。

    最新回复(0)