温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP中怎么实现动静分离

发布时间:2021-06-22 16:31:04 来源:亿速云 阅读:323 作者:Leah 栏目:编程语言

这篇文章给大家介绍PHP中怎么实现动静分离,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一、为什么要实现动静分离

1.1 什么是动静分离?

将动态请求和静态请求区分访问。

1.2 为什么要做动静分离?

静态由Nginx处理, 动态由PHP处理或Tomcat处理…

因为Tomcat程序本身是用来处理jsp代码的,但tomcat也能处理静态资源。

tomcat本身处理静态效率不高,还会带来资源开销。

1.3 如何实现动静分离?

Nginx根据客户端请求的url来判断请求的是否是静态资源,如果请求的url包含jpg、png,则由Nginx处理。

如果请求的url是.php或者.jsp等等,这个时候这个请求是动态的,将转发给tomcat处理。

总结来说,Nginx是通过url来区分请求的类型,并转发给不同的服务端。

动态资源和静态资源分开,使服务器结构更清晰。

二、为什么使用nginx

在传统的web项目中,并发量小,用户使用的少,所以在低并发的情况下,用户可以直接访问tomcat服务器,然后tomcat服务器返回消息给用户,理解如下图:

PHP中怎么实现动静分离

总结就是:

1.Nginx实现负载均衡是通过反向代理实现

当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

2.Nginx配置反向代理的主要参数

(1)upstream 服务池名{}

配置后端服务器池,以提供响应数据

(2)proxy_pass http://服务池名

配置将访问请求转发给后端服务器池的服务器处理

2.1 Nginx静态处理优势

  • Nginx处理静态页面的效率远高于Tomcat的处理能力;

  • 若Tomcat的请求量为1000次,则Nginx的请求量为6000次;

  • Tomcat每秒的吞吐量为0.6M,Nginx的每秒吞吐量为3.6M;

  • Nginx处理静态资源的能力是Tomcat处理的6倍。

三、Nginx动静分离实现原理

如下图所示,我们部署了 nginx 和 tomcat服务器,把所有的静态资源都放置在nginx的webroot目录下面,把动态请求的程序都放在 tomcat 的webroot目录下面。

当客户端访问服务端的时候,如果是静态资源的请求,就直接到nginx的webroot目录下面获取资源。

如果是动态资源的请求,nginx利用反向代理的原理,把请求转发给tomcat进行处理,这样就实现了动静分离,提高了服务器处理请求的性能。

PHP中怎么实现动静分离

关于PHP中怎么实现动静分离就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI