LAMP架构
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LAMP架构相关的知识,希望对你有一定的参考价值。
一、LAMP架构介绍
Linux为操作系统,apache是提供web服务的中间件,mysql主要存储数据,php是一个脚本语言,和shell类似,但是相对复杂,通常用来写网站。
二、httpd、PHP、MySQL三者连接关系
针对apapche、mysql、php三个角色,它们可以部署在同一台机器上,也可以单独部署mysql,但是httpd和php要部署在同一台机器上(为什么?)
apache和php视为一个整体,因为php是以一个模块(PHP module)和apapche相互进行数据交互的,也就是说apahce不能直接和mysql进行数据交互,只能通过php module模块向mysql取数据,然后再返回给apache ,最终再返回用户发出的访问请求。
注意:
PHP modle向mysql取数据的过程,我们称为动态请求,比如我们访问知乎网站时,在浏览器上输入账号密码,然后交给apache,apache拿到用户输入的账号密码后,通过PHP Module把数据传递给mysql进行一个比较验证,看看用户在浏览器上输入账号密码和mysql数据中的是否一致,mysql再通过PHP Module返回验证结果给apapche,如果用户在浏览器输入正确账号密码后就能顺利登陆。这个过程就是一个动态请求的过程
如果你是访问某个网站上图片(静态文件),也就是没有和mysql进行数据交互,这个过程就是静态请求,需要说明的是mysql里面不存图片(静态文件)
三、静态页面和动态页面知识延伸
1.概念定义
1.1静态网页
静态网页是标准的html文件,它的文件扩展名是.htm或.html,可以包含文本、图像、声音、FLASH动画、客户端脚本和ActiveX控件及JAVA小程序等。
这种网页不包含在服务器端运行的任何脚本,网页上的每一行代码都是由网页设计人员预先编写好后,放置到Web服务器上的,在发送到客户端的浏览器上后不再发生任何变化,因此称其为静态网页。
静态网页的处理流程:
1、当用户在浏览器的‘地址’栏中输入一个URL地址并单击‘转到’按钮或敲击键盘上的‘回车键’后、单击网页中的超链接后、在浏览器菜单栏的‘收藏’选择一个网址后,浏览器将向Web服务器发出一个页面请求。
2、当Web服务器收到这个页面请求,根据.htm或.html判断出这是一个静态的HTML文件,会从磁盘或存储器中查找获取用户请求的这个页面。
3、Web服务器找到这个请求文件后,就会把它发送到浏览器,浏览器对这个返回的HTML文件进行解释并将结果显示在浏览器中。
1.2 动态网页
动态页面是以ASP、PHP、JSP、http://ASP.net、Perl、或CGI等编程语言制作的。 我们经常会看到,在地址栏里有一些网址特别长,而且还带有“?”,这样的链接一般是动态链接,其所对应的页面就是动态页面。
动态页面具有这些特征:
动态页面是以ASP、PHP、JSP、http://ASP.net、Perl、或CGI等编程语言制作的;
动态页面实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;动态页面上的内容存在于数据库中,根据用户发出的不同请求,其提供个性化的网页内容;动态页面内容不是存在于页面上,而是在数据库中,从而大大降低网站维护的工作量;
采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;静态页面则无法实现这些功能。
动态网页的处理流程:
1、当用户在浏览器的‘地址‘栏中输入一个URL地址并单击‘转到‘按钮或敲击键盘上的‘回车键‘后、单击网页中的超链接后、在浏览器菜单栏的‘收藏‘选择一个网址后,浏览器将向Web服务器发出一个页面请求。
2、当Web服务器收到这个页面请求,根据文件扩展名判断出它是一个动态网页,会从磁盘或存储器中查找获取用户请求的这个页面,再将这个页面传递给应用程序服务器。
3、应用程序服务器解释执行该页中的脚本代码,并将结果以静态网页的形式保存。
4、应用程序服务器将静态网页结果传递给Web服务器。
2.区别联系
动态网页和静态网页的相同之处:都是ASCII编码文件,都存在着HTML代码,都能包含脚本语言代码,都存放在Web服务器上,都把用户请求的页面发送到浏览上。
动态网页和静态网页的区别是:动态网页的文件扩展名不是.htm、.html,而是以.asp、.jsp、.php、.perl、.cgi等形式为文件后缀;动态网页中的某些脚本只能在服务器上运行,而静态网页不能包含在服务器上运行的任何脚本;当Web服务器收到用户请求的静态页面后,将把查找结果直接发送到浏览器,而当Web服务器收到用户请求的动态页面后,它将先把这个网页传递给一个称为应用服务器扩展的特殊软件进行处理,然后将处理结果传送给浏览器。
关于静态页面和动态页面的其他文档资料
https://www.cnblogs.com/bluesungz/p/5955170.html
以上是关于LAMP架构的主要内容,如果未能解决你的问题,请参考以下文章