1、LAMP网站构建,主讲: 高晓风 邮箱:,本章任务,1. 自我介绍 2. 课程体系 3. 介绍网站给你认识 4. 动态网站软件开发所需的Web构件 5. 几种主流的Web应用程序平台 6. Web的工作原理 7. LAMP网站开发组合概述 8. 学PHP需要学习什么内容,1. 介绍网站给你认识,1.1 B/S软件体系结构 1.2 动态网站介绍 1.3 了解HTTP协议,1.1 B/S软件体系结构,网络系统软件开发包括B/S与C/S两种结构都可以进行同样的业务处理。C/S是客户机(client)/服务器(server),B/S是浏览器(browser)/服务器。C/S之间通过任意的协议通信,一般
2、要求有特定的客户端。比如QQ就是C/S模式,你的桌面上的QQ就是腾讯公司的特定的客户端,而服务器就是腾讯的服务器。再比如你看的网络电视也是如此,比如你的桌面上的pplive、Tvcoo等,这些软件都是C/S模式的,他们要求在用户有特定的客户端。而B/S模式是靠应用层的http协议进行通信的(当然也要靠底层的好多协议支持),一般不需要特定的客户端,而是需要有统一规范的客户端,那就是你的浏览器!Web页就是B/S 模式,也就是说咱们说的网站就是B/S模式。,B/S架构软件的优势与劣势: 维护和升级方式简单。 成本降低,选择更多。 应用服务器运行数据负荷较重。,B/S结构的作用: B/S最大的优点就
3、是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。 B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。,1.2 动态网站介绍,网站的功能性现在已经彻底地变革,我们经历过的一种巨大的转变,就是网站从“静态内容”的展示转向“动态内容”的传递。所谓“动态”并不是指有几个放在网页上的CIF动态图片或Flash等,区别动态网站与静态网站最基本的方法,通常是区别是否采用了数据库的开发模式。 动态网站一般以数据库技术为基础,
4、这样可以大大降低网站维护的工作量,其功能可以实现如用户注册、用户登录、在线调查、用户管理、订单管理等等; 目前比较流行的WEB技术:PHP、ASP.NET与JavaEE。,1.3 HTTP协议是什么,超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。 HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认
5、端口为80)的HTTP请求。,2. 动态网站软件开发所需的Web构件,2.1 客户端浏览器 2.2 扩展超文本标记语言XHTML 2.3 层叠样式表CSS 2.4 客户端脚本编程语言 2.5 Web服务器 2.6 服务器端脚本编程语言 2.7 数据库管理系统,2.1 客户端浏览器,浏览器(Browser),万维网(World Wide Web)服务的客户端浏览程序。可向万维网(World Wide Web)服务器发送各种请求,并对从服务器发来的超文本信息和各种多媒体数据格式进行解释、显示和播放。 浏览器是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件。网页
6、浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML。另外,许多浏览器还支持其他的URL类型及其相应的协议,如FTP、HTTPS(HTTP协议的加密版本)。HTTP内容类型和URL协议规范允许网页设计者在网页中嵌入图像、动画、视频、声音、流媒体等。 个人电脑上常见的网页浏览器包括微软的Internet Explorer、Mozilla的Firefox、Apple的Safari、Opera、HotBrowser、Google Chrome、GreenBrowser浏览器、Avant 浏览器、360安全浏览器、世界之窗、腾讯TT、搜狗浏览器、 傲游浏览
7、器 、orca 浏览器 等。浏览器是最经常使用到的客户端程序。,2.2 扩展超文本标记语言XHTML,可扩展超文本标记语言(eXtensible HyperText Markup Language,XHTML),是一种标记语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。从继承关系上讲,HTML是一种基于标准通用标记语言(SGML)的应用,是一种非常灵活的标记语言,而XHTML则基于可扩展标记语言(XML),XML是SGML的一个子集。XHTML 1.0在2000年1月26日成为W3C的推荐标准。 XHTML是一种为适应XML而重新改造的HTML。当XML越来越成为一种趋势,
8、就出现了这样一个问题:如果我们有了XML,我们是否依然需要HTML?为了回答这个问题,1998年5月在旧金山开了两天的工作会议,会议的结论是:需要。我们依然需要使用HTML。因为大量的人们已经习惯使用HTML来作为他们的设计语言,而且,已经有数以百万计的页面是采用HTML编写的。,2.4 客户端脚本编程语言,客户端脚本是在客户这一端执行的脚本,比如JavaScript、VBScript与applet等客户端执行的脚本,它们都是浏览者先将脚本下载到客户的机器上后才执行的,脚本代码将会停留在浏览者的机器里面.,2.3 层叠样式表CSS,CSS(Cascading Style Sheet,可译为“层
9、叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。 目前大家都在使用的是1998年5月出版了CSS的第二版。到2007年为止,第三版还未完备。,2.5 Web服务器,WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。 WWW 是
10、 Internet 的多媒体信息查询工具,是 Internet 上近年才发展起来的服务,也是发展最快和目前用的最广泛的服务。正是因为有了WWW工具,才使得近年来 Internet 迅速发展,且用户数量飞速增长。Web应用层使用的是HTTP协议。 目前可用的Web服务器很多,最常用的有Apache、IIS、Tomcat、IBM WebSphere与BEA WebLogic 等。其中Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。,2.6 服务器端脚本编程语言,有许多种服务器端脚本语言,常用的有Microsoft的ASP、SUN的JSP和ZEND的PHP,本课程主要介绍比较
11、流行的php后台脚本编程语言。PHP是一种创建动态交互性站点的强有力的服务器脚本语言,它是免费的,并且使用非常广泛。,2.7 数据库管理系统,IBM-DB2,3. 几种主流的Web应用程序平台,3.1 动态网站开发平台 3.2 动态网站开发平台技术比较,3.1 动态网站开发平台,常用开发平台有:ASP.NET、JavaEE和LAMP三种。 ASP.NET的前身也叫ASP:是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。 指 Active Server Pages(动态服务器页面) ,运行于 IIS 之中的程序 。 JavaEE 是 J2EE的一个新的名称,
12、 其中EE为Enterprise Edition(企业版) 也包含J2SE 中的类,并且还包含用于开发企业级应用的类。 比如:EJB、servlet、JSP、XML、事务控制等。,LAMP是基于Linux,Apache,MySQL和PHP的开放资源网络开发平台,PHP是一种有时候用Perl或Python可代替的编程语言。这个术语来自欧洲,在那里这些程序常用来作为一种标准开发环境。名字来源于每个程序的第一个字母。每个程序在所有权里都符合开放源代码标准:Linux是开放系统;Apache是最通用的网络服务器;mySQL是带有基于网络管理附加工具的关系数据库;PHP是流行的对象脚本语言,它包含了多数
13、其它语言的优秀特征来使得它的网络开发更加有效。开发者在Windows操作系统下使用这些Linux环境里的工具称为使用WAMP。,3.2 动态网站开发平台技术比较,4. Web的工作原理,应用 服务器,数据库 服务器,IE,Netscape,IE,Internet,在应用服务器中布署运行程序,请求,响应,5. LAMP网站开发组合概述,5.1 Linux操作系统 5.2 Web服务器Apache 5.3 MySQL数据库管理系统 5.4 PHP后台脚本编程语言 5.5 LAMP发展趋势,5.1 Linux操作系统,Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“
14、Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于计算机业余爱好者Linus Torvalds。 简单地说,Linux是一套免费使用和自由传播的类Unix操作系统。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。,5.2 Web服务器Apache,Apache是世界使用排名第一的Web服务器软件。它可以运
15、行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等。 Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。,5.3 MySQL数据库管理系统,MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Inter
16、net上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是:与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。,5.4 PHP后台脚本编程语言,PHP,是英文超级文本预处理语
17、言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。PHP的另一个含义是:菲律宾比索的标准符号。,5.5 LAMP发展趋势,LAMP发展趋势:越来越多的供应商、用户和企业投资者日益认识到,经过LAMP单个组件的开源软件组成的平台用来构建以及运行各种商业应用和协作构建各种网络应用程序变为一种可能和实践,变得更加具有竞争力,更加吸引客户。LAMP无论是性能、质量还是价格都将成为企业、政府信息化所必须考虑的平台。,6. 学PHP需要学习什么内容,6.1 学PHP之前的准
18、备 6.2 学PHP时需要了解或掌握的内容 6.3 优秀的Web程序员是怎样炼成的,6.1 学PHP之前的准备,首先,从最简单的Web前台技术着手学习,先掌握HTML和CSS制作静态网站。 其次,在对Web前台技术有所了解之后,这时,就应该去学习安装一种最容易的PHP工作环境了,并且可以对Web服务器进行简单管理,做到可以发布网站即可。 再次,在学习PHP之前最好先去了解一些通过PHP开发的成功案例。,6.2 学PHP时需要了解或掌握的内容,阶段一:和其他语言的学习顺序一样,从运行第一个PHP程序开始,了解PHP的编写及运行方式和配置文件的使用。 阶段二:学习PHP必须掌握数组、字符串和正则表
19、达式的各种应用 阶段三:掌握PHP面向对象技术,PHP5以后版本的项目开发都在逐渐从过程化编程转变为面向对象的思想开发。 阶段四:其实前三个阶段都是PHP语言的基本功能,包含了每个项目中都必须用到的语法。 阶段五:PHP与数据库操作,这个阶段学习PHP学习的重点。 阶段六:虽然学完前5个阶段已经可以做项目了,但代码质量和运行都有新手和成手之分,软件开发也是一样,也分普通和高级的级别之分。,6.3 优秀的Web程序员是怎样炼成的,1. 具备扎实的技术功底 2. 遵循良好的编码规范 3. 问题要解决不要逃避 4. 扩充自己的想象力 5. 对新技术的渴求 6. 挖掘设计模式,提高代码质量 7. 多与高手交流 8. 韧性和毅力,总 结,本章必须掌握的知识点: W3C标准 HTTP协议是什么,以及URL的组成和作用 动态网站开发所需要的Web构件,以及用途 Web的工作原理,以及网站的运行过程 PHP开发Web应用的优势,