当前位置:首页 > 教程 > 正文内容

nginx前后端(nginx前后端分离)

2023-05-05 19:50:05教程1

nginx前后端

Nginx Stream是Nginx的一个模块,用于处理流媒体数据的代理和负载均衡。它可以用于处理TCP和UDP协议的流数据,支持高并发、低延迟和高可靠性的代理和负载均衡。

Nginx Stream的实现原理是,在Nginx的事件驱动模型中,通过监听指定的端口,接收客户端的连接请求。当连接建立后,Nginx Stream会将请求转发给后端的服务,完成代理和负载均衡的功能。同时,Nginx Stream还支持一些高级功能,如SSL/TLS加密、SNI扩展、SOCKS5代理等。

Nginx Stream的优势在于,它可以实现TCP和UDP协议的代理和负载均衡,支持高并发和低延迟。同时,Nginx Stream也非常易于配置和管理,可以通过简单的配置文件实现各种代理和负载均衡的需求。

nginx前后端分离

当然可以。

Nginx是一款高性能的HTTP和反向代理服务器,具有内存占用小、高并发的特性。国内互联网大企业大多使用的就是Nginx,淘宝还基于Nginx开发了Tengine。

Nginx的用途:

1、反向代理

在LNMP这种架构模式下,其实就用到了反向代理。因为Nginx它默认只支持静态资源的请求,比如说PHP脚本也不是由Nginx直接解析的,而是由Nginx反向代理(通过 proxy_pass 指令)到PHP-FPM去解析的。

所以我们通常在Apache、Tomcat、IIS之前加上Nginx,由Nginx反向代理到后端服务器上。

2、负载均衡

当我们的站点访问量大时,为了缓解单一应用服务器的压力我们通常会扩容多台服务器,此时如何把流量分发给不同服务器呢?通过Nginx就可以实现负载均衡了,Nginx负载均衡策略也很多,主要有:RR(轮询)、weight(权重)、ip_hash(IP Hash)、fair(后端服务器响应时间)、url_hash(URL Hash)这几种。

3、动静分离

Nginx本身只支持静态资源的处理,借助Nginx我们可以实现动静分离,即:将静态请求交给Nginx处理,将动态请求通过转发给后端服务器。

4、Nginx扩展

通过Nginx扩展可以实现很多功能,如:

图片在线裁剪;

请求合并;

资源压缩等。

nginx前后端访问都是/怎么配置

nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。比如在内网有一个mysql服务,想暴露到公网上去使用,就可以通过nginx代理的方式通过nginx来进行内网mysql的访问。

可以通过nginx代理的端口访问到内网的mysql服务了。这也直接避免了mysql直接暴露到公网,增加些许的安全。当然,利用stream也可以实现后端服务的负载均衡。

nginx前后端配置

ngix可以启动后端代码,因为ngix是一个代理服务器,拥有发布代码的功能。

nginx前后端分离实现

1,快速响应:nginx的单次请求会得到更快的响应,另一方面,在高峰期(如有数以万计的并发请求),Nginx可以比其他Web服务器更快地响应请求(官方说nginx可以支持五万并发),尤其是对静态资源的返回,更为迅速。

2,跨平台性,高扩展性:nginx的设计极具扩展性,它是由多个不同功能,不同层次,不同类型且耦合度极低的模块组成,比如HTTP模块中,还设计了HTTP过滤模块,一个正常的HTTP模块处理完请求后,会有一连串的HTTP过滤模块再对其进行过滤,我们开发一个新的HTTP模块时,可以使用HTTP核心模块 events模块 log模块等 还可以自由的复用各种过滤器模块。因此,当对某一个模块修复Bug或进行升级时,可以专注于模块自身,无须在意其他。这种低耦合度的优秀设计,造就了Nginx庞大的第三方模块,当然,公开的第三方模块也如官方发布的模块一样容易使用。

Nginx的模块都是嵌入到二进制文件中执行的,无论官方发布的模块还是第三方模块都是如此。这使得第三方模块一样具备极其优秀的性能,充分利用Nginx的高并发特性,因此,许多高流量的网站都倾向于开发符合自己业务特性的定制模块。

3,高可靠性:经过了实践的检验,功能丰富且稳定。nginx每个worker子进程相对独立,master进程在一个worker子进程出错时可以快速拉起新的worker子进程继续提供服务

4,低内存消耗

一般情况下,10 000个非活跃的HTTP Keep-Alive连接在Nginx中仅消耗2.5MB的内存,这是Nginx支持高并发连接的基础。

5,高并发处理

nginx支持的并发连接上限取决于内存,单机上万的并发量解决起来轻轻松松

6,热部署

master管理进程与worker工作进程的分离设计,使得nginx在不间断提供服务的情况下支持更新配置,更换日志文件,升级nginx可执行文件等

7,支持BSD许可协议

BSD开源协议是一个给予使用者很大自由的协议。基本上使用者可以"为所欲为",可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布

nginx前后端配置在一台服务器

     nginx upstream是一款常用的高性能Web服务器,其配置文件主要由模块指令和上下文组成,可以通过配置文件实现反向代理、负载均衡、缓存等功能。下面是nginx配置的一些详解:

1.server:server指令用于配置虚拟主机,可以在一个Nginx服务器中配置多个虚拟主机,每个虚拟主机有自己的配置。

2.location:location指令用于配置URL的匹配规则,可以匹配URI、文件扩展名等,可以通过配置不同的location实现反向代理和缓存等功能。

3.upstream:upstream指令用于配置反向代理的后端服务器,可以配置多个服务器进行负载均衡,支持不同的负载均衡算法。

4.proxy_pass:proxy_pass指令用于配置反向代理的转发规则,可以将请求转发到指定的后端服务器。

5.cache:cache指令用于配置缓存规则,可以通过配置缓存来提高Web服务器的性能。

6.ssl:ssl指令用于配置SSL协议,可以实现HTTPS的安全通信。

       除了以上指令外,还有许多其他的Nginx指令,例如gzip、log_format、rewrite等,可以根据具体需求进行配置。总的来说,Nginx的配置相对简单,但具有很高的灵活性和可扩展性,可以根据不同的场景进行灵活配置。

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98816977.html