【ACCESS精品源码栏目提醒】:网学会员,鉴于大家对ACCESS精品源码十分关注,论文会员在此为大家搜集整理了“LAMP架构 - 大众科技”一文,供大家参考学习!
LAMP架构简介10年12月3日星期五 1 目录 LAMP概述 PHP简介10年12月3日星期五 2 基于B/S的Web系统三层体系 软件开发 C/S or B/S C/S:Client/Server B/S:Browser/Server B/S架构的特点 客户端要求低 可维护性很高 数据安全性高 实时交互性好 B/S架构的三层体系 分层式设计:分散关注、松散耦合、逻辑复用、标准定义 界面表现层 业务逻辑层 数据存储层10年12月3日星期五 3 LAMP:LAMP是什么? LAMP是什么? 基于开源产品的Web架构:1998年,Michael Kunze为德国 计算机杂志c‘t写了一篇关于Free软件如何成为商业软件替代 品的文章时,创建了LAMP这个名词 LAMP由Linux 操作系统、Apache Web服务器、MySQL数 据库和PHP(Perl或Python)脚本语言四种技术的开头字母 组成 根据PHPChina资料统计在Alexa排名中国前200名的网站中 有61的采用了LAMP架构,包括腾讯、百度、雅虎、新 浪、搜狐、Tom等一大批网站 LAMP架构已成为互联网行业的一盏真正的明灯10年12月3日星期五 4 LAMP的组成体系:System System L: Linux,包括但不限于Linux,我们认为可以泛指各种 Linux/Unix系统,RedHat、Suse、Debian、Turbo、 FreeBSD、Solaris…甚至包括了PS3的Yellow Dog Linux和 Apple的Mac OS 10.5 Leopard10年12月3日星期五 5 LAMP的组成体系:Server Server A: Apache,一种占有全球72市场的开源的Web Server, 官方网站 http://www.apache.org 最近Pingdom的统计表明,Apache仍然主导全美100大网站 (Alexa的排名),占据了49的市场份额10年12月3日星期五 6 LAMP的组成体系:Server Server 4 1 1 Apache 22 IIS SunONE Zeus 72 Others Web Server软件的使用比例分布10年12月3日星期五 7 LAMP的组成体系:Storage Storage M: MySQL,一种开源的关系型数据库,被下载上千万次, 2008年2月26日为Sun收购。
M: 可以将M的概念扩展到Memcached: Memcached是一个 高性能的分布式的内存对象缓存系统,通过在内存里维护一 个统一的巨大的hash表,它能够用来存储各种格式的数 据,包括图像、视频、文件以及数据库检索的结果等。
M: 从Memcache扩展到,还有一系列产品,包括MySQL的 memcache_engine/memcachedb_engine、MemcacheQ、 Sharedancehttp://sharedance.pureftpd.org10年12月3日星期五 8 LAMP的组成体系:Storage : Memcached Memcached 由Danga Interactive开发 http://www.danga.com/memcached/ 使用libevent进行网络IO处理,libevent作为一种新的非阻塞网络IO方 式以高效的方法(epoll/kqueue)组织IO,分布式散列对象到不同的服 务器,查询复杂度是O1。
性能特别高,支持多进程和多线程,支持TCP和UDP协议,支持C、 C、PHP、Perl、Python、Ruby、Java客户端,支持短连接和持久连 接。
内存占用少,每个单位的slab和chunk可定制大小 由第三方开发的PHP客户端,和PHP紧密结合,PHP的数组、对象可 直接存储,取出时自动还原,数据支持Gzip压缩和二进制传输,并发 读写支持CAS(Compare-and-Swap) 大部分PHP的大型站点都在使用:Facebook、Sina、Sohu、Tom、 Yahoo、51.com、wikipedia、sourceforge等等, Facebook参与了 PHP官方的Memcache扩展函数库开发维护和版本更新10年12月3日星期五 9 LAMP的组成体系:Script Script P: PHP,也可以泛指PHP、Perl、Python等解释型脚本语言。
截至2008年1月全球有33.24的网站使用PHP,据统计在Alexa 排名中国TOP200的网站中,使用PHP的网站有121个,占 60。
在按照行业分类的网站统计中,25个行业的每个行业前 10名,共计250个网站中,有102个使用PHP技术,占40 Apache Modules Popularity 50 37.5 mod_perl 25 PHP 12.5 mod_python 0 Apache平台上使用的语言比例分布10年12月3日星期五 10 LAMP的组成体系:Script 主流语言增 长速度比较10年12月3日星期五 11 经典LAMP网站架构分析 System Server Storage Script Yahoo FreeBSD Linux Apache MySQL PHP MySQL Facebook FreeBSD Apache PHP Memcached MySQL Wikimedia Linux Apache Lighttpd PHP Memcached MySQL Flickr Redhat Linux Apache PHP Perl Memcached FreeBSD MySQL Sina Apache Nginx PHP Solaris Memcachedb Audiogalaxy Linux Apache MySQL PHP Friendster Linux Apache MySQL PHP Perl YouTube Suse Linux Apache Lighttpd MySQL Python MySQL Mixi.jp Linux Apache Perl Memcached MySQL TypePad Linux Apache Perl Memcached MySQL liveJournal Linux Apache Perl Memcached10年12月3日星期五 12 几种网站架构的比较 MS .NET SUN J2EE LAMP Tencent Windows System 跨平台 跨平台 Linux 2008/2003 Tomcat/JBOSS/Resein/ Apache/IIS/Lighttpd/ZWS/ Apache/Httpsrv/ Server IIS 6.0 WebLogic/WebSphere Nginx TWS/QZHttp Script C/VB.net JSP PHP/Perl/Python C/C Apache Module/CGI/ 运行模式 ISAPI CGI/FastCGI FastCGI/ISAPI/ 进程/线程模型 多线程 多线程 多进程/内核支持多线程 多进程/多线程 源代码 编译 编译 解释/编译成OPCODE 编译 Struts/EJB/Webwork2/ Zend Framework/Cake PHP/ Framework .Net Framework / Tapstry/JSF ThinkPHP EhCache/OSCache/ Cache Memcached TTC JBossCache SQLServer / MySQL/PostgreSQL/Oracle/ DB Oracle MySQL
Access SQLite10年12月3日星期五 13 PHP:PHP发展历程 PHP的发展历程和使用PHP的网站数量图示10年12月3日星期五 14 PHP: 填补了企业WEB应用的需求 Service-Oriented Architecture SOA Java/J2EE Portal Application Frameworks Framework Simple Powerful but Rigid but Complex10年12月3日星期五 15 PHP: 填补了企业WEB应用的需求 Service-Oriented Architecture SOA Java/J2EE Portal Gap Application Frameworks Framework Simple Powerful but Rigid but Complex10年12月3日星期五 15 PHP: 填补了企业WEB应用的需求 Service-Oriented Architecture SOA Java/J2EE Portal Application Frameworks Framework Simple Powerful but Rigid but Complex10年12月3日星期五 15 PHP: 填补了企业WEB应用的需求 Service-Oriented Architecture SOA Java/J2EE Portal Application Frameworks Framework Simple PHP Fills the Gap: Powerful but Rigid Balancing Power Flexibility Simplicity but Complex10年12月3日星期五 15 PHP: 全球使用PHP的网站10年12月3日星期五 16 PHP: 运行环境 关于PHP的运行环境,主要有以下五种Web Server,包括Apache、IIS、Lighttpd、Zeus、Nginx Apache Apache 2.x版本下提供了Prefork模式和Worker模式,鉴于PHP的第三方 扩展函数库很多都是不支持多线程的,所以PHP官方和Zend官方强烈推 荐不要使用Worker模式,而是要么继续使用Apache 1.3.x,要么使用 Apache 2.x的Prefork模式 在Apache下,可以使用CGI方式、Apache模块方式(mod_php)、 FastCGI方式(mod_fastcgi和mod_fcgd)三种方式来运行PHP,其中 mod_php最稳定,mod_fcgd性能最高,需要说明的是FastCGI方式运行 PHP存在一定风险,经常性会宕掉,无论是mod_fcgd还是 mod_fastcgi。
目前Linux/FreeBSD/Solaris绝大部分PHP网站使用 ApachePreforkMod_PHP方式,包括Qzone和QQ会员的所有PHP项 目。
10年12月3日星期五 17
上一篇:
数据库实验报告
下一篇:
幻象符号的政治经济学