版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
11/8/2024PHP简介与网站架构顾曾11/8/2024PHP简介与网站架构PHP简介PHP发展与现状PHP特性PHP框架网站架构11/8/2024简介11/8/2024简介--PHP是什么RasmusLerdorf,PHP之父PHP(PHP:HypertextPreprocessor),一种开源脚本语言,原名PersonalHomePage混合了C、Java、Perl以及PHP自创的语法,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域,PHP的文件后缀名为*.php,可以运行在Linux/Windows/Mac,支持MySQL、PostgreSQL、Oracle、Sybase、Informix和MicrosoftSQLServer不需要任何费用,官网11/8/2024简介--应用服务器端,嵌入在HTML并由服务器解释。所有PHP开发的网站、网络系统均是这种用途,使用PHP99.9%用在此方面。开发命令行脚本程式客户端的GUI应用程式11/8/2024发展与现状11/8/2024发展1995 1.02.01997 3.02000-5-22 4.02004-07-13 5.0.02005-11-24 5.1.02006-11-02 5.2.02009-06-30 5.3.02009-12-17 5.2.122012-03-01 5.4.02012-11-22 5.3.192013-06-20 5.5.02013-12-12 5.3.282014-02-06 5.4.252014-02-06 5.5.911/8/2024现状你所知道的很多网站都有PHP的影子,包括Google、百度、网易、新浪、搜狐、阿里巴巴、奇虎、eBay、腾讯、Yahoo、金山等。全球互联网网站中,有40%-60%使用着PHP技术,国内大多数的网站都在使用PHP开发。AlexaTOP500中国网站排名,有394家使用了PHP。11/8/2024特性11/8/2024特性开源、免费、开放、可扩展快捷,所见即所改跨平台效率高,相对于CGI、Perl和ASP面向对象专业专注基于服务器端简单的语言,嵌入HTML11/8/2024框架11/8/2024框架11/8/2024框架在项目开发中,一些架构和代码都是重复的,为了避免重复劳动,于是各种各样的框架诞生了。采用框架的益处:统一开发规范程序设计模式遵循开发框架的各种约定无论在编码还是以后的维护过程中都是易于管理的框架会集成丰富的类库、函数库,提升开发的效率,加快软件开发有助于创建更加稳定和安全的应用程序11/8/2024框架PHP框架真正的发展要从php5开始,所有的框架都有几个共同特点:单一入口MVC模式类自动加载URL处理统一的输入和错误处理可扩展CURD操作(数据库操作的封装)…未来的PHP开发框架同时也需要具备几个特点:1.采用更多PHP的新特性2.拥有更丰富可扩展的开发包3.文档丰富4.社区活跃11/8/2024框架国内框架ThinkPHP,Canphp,KYPHP,InitPHP,SpeedPHP,CdvPHP国外著名框架ZendFramework,Codeigniter,FuelPHP,Laraval,Phalcon,CakePHP,Symfony,Yii11/8/2024网站架构11/8/2024网站架构目的保证网站的正常访问,快速响应手段/方法根据网站当前的发展要求,相应调整软硬件资源,适应当前要求并具有前瞻性架构没有标配,且在不断变化中,但围绕的重点离不开Web服务器、代理/缓存、DB、负载均衡、分布式存储。11/8/2024网站架构--WEB服务器Apache世界上用得最多的Web服务器,市场占有率达60%左右。源代码开放,支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux、Mac系统平台上)。Apache的模块支持非常丰富,属于重量级产品,因此在速度、性能上不及其他轻量级Web服务器,所消耗的内存也比其他Web服务器要高。官方网站:。11/8/2024网站架构--WEB服务器Lighttpd一款轻量级Web服务器,其目标是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的WebServer环境。内存开销低、CPU占用率低、效能好、模块丰富。支持FastCGI、CGI、URL重写及Alias等重要功能。支持PHP,不支持缓存,是Nginx的竞争对手之一。官方网站:11/8/2024网站架构--WEB服务器Nginx高性能的HTTP和反向代理服务器,占有内存少,并发能力强,处理静态页面是最优秀的,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。中国大陆使用nginx网站用户有新浪、网易、腾讯等。官网:11/8/2024网站架构--WEB服务器比较ServerApacheNginxLighttpd代理非常好非常好一般Rewriter好非常好一般FastCGI不好好非常好热部署不支持支持不支持系统压力比较很大很小比较小稳定性好非常好不好安全性好一般一般技术支持非常好很少一般静态文件处理一般非常好好Vhost支持不支持支持反向代理一般非常好一般Session支持不支持不支持11/8/2024网站架构--代理缓存服务器Squid是一种代理服务器软件,又称为Squidcache。作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度。官网:11/8/2024网站架构--负载均衡负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。这种群集技术可以用最少的投资获得接近于大型主机的性能。负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。11/8/2024网站架构--负载均衡分类软件负载均衡
适用于一些中小型网站系统,可以满足一般的均衡负载需求。软件负载均衡技术是在一个或多个服务器上安装相应的负载均衡软件来实现。配置简单、操作也方便,最重要的是成本很低。硬件负载均衡
需要额外的增加负载均衡器,成本比较高,所以适用于流量高的大型网站系统。在多台服务器间安装相应的负载均衡设备,也就是负载均衡器来完成均衡负载,与软件负载均衡技术相比,能达到更好的负载均衡效果。本地负载均衡
是对本地服务器群进行负载均衡处理。该技术通过对服务器进行性能优化,使流量能够平均分配在服务器群中的各个服务器上,本地负载均衡技术不需要购买昂贵的服务器或优化现有的网络结构。全局负载均衡
适用于拥有多个地域的服务器集群的大型网站系统。是对分布在各个地区的多个服务器进行负载均衡处理,该技术可以通过对访问用户的IP地理位置判定,自动转向地域最近点。11/8/2024网站架构--负载均衡实现方式DNS负载均衡
DNS负载均衡技术是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。NAT负载均衡
NAT负载均衡将一个外部IP地址映射为多个内部IP地址,对每次连接请求动态地转换为一个内部服务器的地址,将外部连接请求引到转换得到地址的那个服务器上,从而达到负载均衡的目的。可以通过软硬件方式来实现。反向代理负载均衡
把将来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。能以软件方式来实现,也可以在高速缓存器、负载均衡器等硬件设备上实现。混合型负载均衡
在有些大型网络,由于多个服务器群内硬件设备、各自的规模、提供的服务等的差异,给每个服务器群采用不同的负载均衡方式,然后又在这多个服务器群间再一次负载均衡或群集起来以一个整体向外界提供服务(即把这多个服务器群当做一个新的服务器群),从而达到最佳的性能。我们将这种方式称之为混合型负载均衡。此种方式有时也用于单台均衡设备的性能不能满足大量连接请求的情况下。11/8/2024网站架构--总体方案Apache用于后台服务器(主要处理php及一些功能请求)Nginx用于前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)Lighttpd用于图片服务器虽然我们希望网站一开始就能有一个很好的架构,但马克思告诉我们事物是在发展中不断前进的,网站架构也是随着业务的扩大、用户的需求不断完善的,下面是一个网站架构逐步发展的基本过程。11/8/2024网站架构--总体方案NginxSquidcacheApache/PHPMySQL静态文件cssjsimgSquidcacheApache/PHPMySQL分布式存储.........网站架构 不同类型、不同流量的网站架构不一而足,以下从小型到大型的架构供参考。11/8/2024网站架构一物理分离WebServer和数据库11/8/2024网站架构二增加页面缓存11/8/2024网站架构三增加页面片段缓存11/8/2024网站架构四数据缓存11/8/2024网站架构五增加WebServer11/8/2024网站架构六数据库集群或分库11/8/2024网站架构七分表、DAL和分布式缓存11/8/2024网站架构八增加更多的WebServer11/8/2024网站架构九数据读写分离和廉价存储11/8/2024网站架构--问题当然,随着架构的变大,需解决的问题也会越多,如:改动时相当的不方便糟糕的复用性出问题的时候不是很好查常用的解决方式是将应用进行拆分,成为一个分布式的应用,同时面临的问题:拆成分布式后需要提供一个高性能、稳定的通信框架,并且需要支持多种不同的通信和远程调用方式将一个庞大的应用拆分需要耗费很长的时间,需要进行业务的整理和系统依赖关系的控制等如何对运行状况管理、错误追踪、调优、监控和报警等问题无时不在,架构永无止境。11/8/2024网站架构--总结网站架构的关键是查找影响网站响应速度的结点是WEB服务器还是数据库。总的来说,WEB服务器演变的顺序:
代理缓存->页面缓存->增加server/集群数据库演
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年土木工程考试模拟题及答案详解
- 2026年食堂前厅考试模拟题及答案详解
- 2026年aon心理测试模拟试题(含答案)
- 2026年老虎性能模拟题及答案详解
- 2026年工程师岗位模拟试卷(含答案)
- 草坪管护工岗前趋势考核试卷含答案
- 2026年马克思主义基本原理概论(专题1-5)在线形考模拟题及答案详解
- 2026年生化综合测模拟题及答案详解
- 2026年面罩吸氧模拟题及答案详解
- 高新计算机辅助设计与制造复习题及答案详解
- 云上(贵州)数据开发有限公司招聘笔试题库2026
- GB/T 31897.1-2025灯具性能第1部分:一般要求
- 武汉市建设工程文明施工管理办法
- 市政工程项目验收报告模板
- 光伏电安全管理协议书
- 南门湾海堤施工方案
- (正式版)DB15∕T 4153-2025 《蓖麻整枝与蓖麻蚕养殖一体化技术规程》
- 2025年bec初级真题答案解析
- 测绘地理信息安全保密管理制度
- 基本药物使用及采购情况统计分析
- 北京市丰台区2024-2025学年八年级上学期期末考试生物试卷
评论
0/150
提交评论