PHP简介与网站架构PPT

上传人:r*** 文档编号:57168871 上传时间:2018-10-19 格式:PPT 页数:41 大小:844.50KB
返回 下载 相关 举报
PHP简介与网站架构PPT_第1页
第1页 / 共41页
PHP简介与网站架构PPT_第2页
第2页 / 共41页
PHP简介与网站架构PPT_第3页
第3页 / 共41页
PHP简介与网站架构PPT_第4页
第4页 / 共41页
PHP简介与网站架构PPT_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《PHP简介与网站架构PPT》由会员分享,可在线阅读,更多相关《PHP简介与网站架构PPT(41页珍藏版)》请在金锄头文库上搜索。

1、10/19/2018,PHP简介与网站架构,顾 曾,10/19/2018,PHP简介与网站架构,PHP简介 PHP发展与现状 PHP特性 PHP框架 网站架构,10/19/2018,简介,10/19/2018,简介 - PHP是什么,Rasmus Lerdorf ,PHP之父 PHP (PHP: Hypertext Preprocessor),一种开源脚本语言,原名Personal Home Page 混合了C、Java、Perl以及PHP自创的语法, 入门门槛较低,易于学习, 使用广泛,主要适用于Web开发领域, PHP的文件后缀名为*.php, 可以运行在 Linux / Windows

2、/ Mac, 支持MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL Server 不需要任何费用,官网 ,10/19/2018,简介 - 应用,服务器端,嵌入在 HTML 并由服务器解释。所有PHP开发的网站、网络系统均是这种用途,使用PHP 99.9%用在此方面。 开发命令行脚本程式 客户端的GUI应用程式,10/19/2018,发展与现状,10/19/2018,发展,1995 1.0 2.0 1997 3.0 2000-5-22 4.0 2004-07-13 5.0.0 2005-11-24 5.1.0 2006-11-02 5

3、.2.0 2009-06-30 5.3.0 2009-12-17 5.2.12 2012-03-01 5.4.0 2012-11-22 5.3.19 2013-06-20 5.5.0 2013-12-12 5.3.28 2014-02-06 5.4.25 2014-02-06 5.5.9,10/19/2018,现状,你所知道的很多网站都有PHP的影子,包括Google、百度、网易、新浪、搜狐、阿里巴巴、奇虎、eBay、腾讯、Yahoo、金山等。 全球互联网网站中,有40%-60%使用着PHP技术,国内大多数的网站都在使用PHP开发。AlexaTOP500中国网站排名,有394家使用了PHP。,

4、10/19/2018,特性,10/19/2018,特性,开源、免费、开放、可扩展 快捷,所见即所改 跨平台 效率高,相对于CGI、Perl和ASP 面向对象 专业专注 基于服务器端 简单的语言,嵌入HTML,10/19/2018,框架,10/19/2018,框架,10/19/2018,框架,在项目开发中,一些架构和代码都是重复的,为了避免重复劳动,于是各种各样的框架诞生了。 采用框架的益处: 统一开发规范 程序设计模式 遵循开发框架的各种约定 无论在编码还是以后的维护过程中都是易于管理的 框架会集成丰富的类库、函数库,提升开发的效率,加快软件开发 有助于创建更加稳定和安全的应用程序,10/19

5、/2018,框架,PHP框架真正的发展要从php5开始,所有的框架都有几个共同特点: 单一入口 MVC模式 类自动加载 URL处理 统一的输入和错误处理 可扩展 CURD操作(数据库操作的封装) 未来的PHP开发框架同时也需要具备几个特点: 1.采用更多PHP的新特性 2.拥有更丰富可扩展的开发包 3.文档丰富 4.社区活跃,10/19/2018,框架,国内框架ThinkPHP, Canphp, KYPHP, InitPHP, SpeedPHP, CdvPHP国外著名框架Zend Framework, Codeigniter, FuelPHP, Laraval, Phalcon, CakePH

6、P, Symfony, Yii,10/19/2018,网站架构,10/19/2018,网站架构,目的 保证网站的正常访问,快速响应手段/方法 根据网站当前的发展要求,相应调整软硬件资源,适应当前要求并具有前瞻性架构没有标配,且在不断变化中,但围绕的重点离不开Web服务器、代理/缓存、DB、负载均衡、分布式存储。,10/19/2018,网站架构 - WEB服务器,Apache 世界上用得最多的Web服务器,市场占有率达60%左右。源代码开放,支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux、Mac系统平台上)。Apache的模块支持非常丰富,属于重量级产品,因此在速度、

7、性能上不及其他轻量级Web服务器,所消耗的内存也比其他Web服务器要高。 官方网站:http:/httpd.apache.org。,10/19/2018,网站架构 - WEB服务器,Lighttpd一款轻量级Web服务器,其目标是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的Web Server环境。内存开销低、CPU占用率低、效能好、模块丰富。支持FastCGI、CGI、URL重写及Alias等重要功能。支持PHP,不支持缓存,是Nginx的竞争对手之一。 官方网站:http:/,10/19/2018,网站架构 - WEB服务器,Nginx高性能的HTTP和反向代理服务器,占有内

8、存少,并发能力强,处理静态页面是最优秀的,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。中国大陆使用nginx网站用户有新浪、网易、 腾讯等。 官网:http:/nginx.org,10/19/2018,网站架构 - WEB服务器比较,10/19/2018,网站架构 - 代理缓存服务器,Squid是一种代理服务器软件,又称为Squid cache。作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度。 官网:http:/www.squid-cache.org,10/19/2018,网站架构 - 负载均衡,负载均衡是由多台服务器以对称的方式组成一个服务器集

9、合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。 通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。 均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。这种群集技术可以用最少的投资获得接近于大型主机的性能。 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。,10/19/2018,网站架构 - 负载均衡分类,软件负载均衡适用于一些中小型网站系统,可以满足

10、一般的均衡负载需求。软件负载均衡技术是在一个或多个服务器上安装相应的负载均衡软件来实现。配置简单、操作也方便,最重要的是成本很低。 硬件负载均衡需要额外的增加负载均衡器,成本比较高,所以适用于流量高的大型网站系统。在多台服务器间安装相应的负载均衡设备,也就是负载均衡器来完成均衡负载,与软件负载均衡技术相比,能达到更好的负载均衡效果。 本地负载均衡是对本地服务器群进行负载均衡处理。该技术通过对服务器进行性能优化,使流量能够平均分配在服务器群中的各个服务器上,本地负载均衡技术不需要购买昂贵的服务器或优化现有的网络结构。 全局负载均衡适用于拥有多个地域的服务器集群的大型网站系统。是对分布在各个地区的

11、多个服务器进行负载均衡处理,该技术可以通过对访问用户的IP地理位置判定,自动转向地域最近点。,10/19/2018,网站架构 - 负载均衡实现方式,DNS负载均衡DNS负载均衡技术是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录 的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。 NAT负载均衡NAT负载均衡将一个外部IP地址映射为多个内部IP地址,对每次连接请求动态地转换为一个内部服务器的地址,将外部连接请求引到转换得到地址的那个服务器上,从而达

12、到负载均衡的目的。可以通过软硬件方式来实现。 反向代理负载均衡把将来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。能以软件方式来实现,也可以在高速缓存器、负载均衡器等硬件设备上实现。 混合型负载均衡在有些大型网络,由于多个服务器群内硬件设备、各自的规模、提供的服务等的差异,给每个服务器群采用不同的负载均衡方式,然后又在这多个 服务器群间再一次负载均衡或群集起来以一个整体向外界提供服务(即把这多个服务器群当做一个新的服务器群),从而达到最佳的性能。我们将这种方式称之为混 合型负载均衡。此种方式有时也用于单台均衡设备的性能不能满足

13、大量连接请求的情况下。,10/19/2018,网站架构 - 总体方案,Apache 用于后台服务器(主要处理php及一些功能请求) Nginx 用于前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求) Lighttpd 用于图片服务器 虽然我们希望网站一开始就能有一个很好的架构,但马克思告诉我们事物是在发展中不断前进的,网站架构也是随着业务的扩大、用户的需求不断完善的,下面是一个网站架构逐步发展的基本过程。,10/19/2018,网站架构 - 总体方案,Nginx,Squid cache,Apache/PHP,MySQL,静态文件 css js img,Squid cache,Apa

14、che/PHP,MySQL,分布式存储,.,.,.,网站架构,不同类型、不同流量的网站架构不一而足,以下从小型到大型的架构供参考。,10/19/2018,网站架构一,物理分离WebServer和数据库,10/19/2018,网站架构二,增加页面缓存,10/19/2018,网站架构三,增加页面片段缓存,10/19/2018,网站架构四,数据缓存,10/19/2018,网站架构五,增加WebServer,10/19/2018,网站架构六,数据库集群或分库,10/19/2018,网站架构七,分表、DAL和分布式缓存,10/19/2018,网站架构八,增加更多的WebServer,10/19/2018

15、,网站架构九,数据读写分离和 廉价存储,10/19/2018,网站架构 - 问题,当然,随着架构的变大,需解决的问题也会越多,如: 改动时相当的不方便 糟糕的复用性 出问题的时候不是很好查 常用的解决方式是将应用进行拆分,成为一个分布式的应用,同时面临的问题: 拆成分布式后需要提供一个高性能、稳定的通信框架,并且需要支持多种不同的通信和远程调用方式 将一个庞大的应用拆分需要耗费很长的时间,需要进行业务的整理和系统依赖关系的控制等 如何对运行状况管理、错误追踪、调优、监控和报警等问题无时不在,架构永无止境。,10/19/2018,网站架构 - 总结,网站架构的关键是查找影响网站响应速度的结点是W

16、EB服务器还是数据库。 总的来说,WEB服务器演变的顺序:代理缓存 - 页面缓存 - 增加server/集群 数据库演变顺序:缓存 - 读写分离 - 分库/分表/集群。 最重要的是每台服务器的性能最大化。,10/19/2018,网站架构 - 优化配置,APACHE,加大并发数量,关闭不需要的模块,尽量轻装上阵,可适当的使用长连接,关闭日志。 PHP,以实用为目的加入参数,没有用到的坚决不加。 MYSQL,尽量少使用长连接,限制为2-3秒 尽量使用手工编译安装 优化的思路就是把尽可能多的系统资源提供给WEB和MYSQL服务,并且让这些服务单个进程可以占用尽可能少的系统资源,10/19/2018,谢谢,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号