1. 初学者在本地安装 Apache 与 PHP。安装 xampp 套件即可。XAMPP 里面包含 Apache 和 PHP.windows 用户也可安装 WAMP,安装包体积会小一些。对于后端熟悉的同学可单独安装Apache 和 PHP。
2. 学习 xampp或者wamp 的简单配置使用,在本地启动 web 服务器,通过浏览器访问,通过浏览器打开本地 webserver 下的 php 文件,截图展示。
3. 练习 新浪云 SAE的使用(支持后端语言),通过 git 上传自己的代码(一个简单的 php 文件)到新浪云,贴出线上地址。
问题
1. 简单描述下web 服务器、PHP、数据库、浏览器是如何实现动态网站的?
以Apache服务器、php语言为例:
(1)用户端访问服务器端的html文件
S1:通过本机配置好的DNS域名服务器地址寻找DNS服务器,将网站URL中的Web主机域名解析为Web服务器所在的Linux操作系统(Apache通常与Linux操作系统组合使用)中对应的IP地址。
S2:通过HTTP协议(超文本传输协议)去连接上述IP地址的服务器系统,通过默认80端口(默认的端口是80,也有其他端口,输入URL时一般不用输入端口)请求Apache服务器上相应目录下的html文件(如index.htm)。
S3:Apache服务器收到用户的访问请求后,在它管理的文档目录中找到并打开相应的html文件(如index.htm),将文件内容响应给客户端浏览器(即用户)。
S4:浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来(由于不同的浏览器对于代码的解读规则会不一样,所以不同浏览器对于相同的网页呈现的最终页面效果会有所差异)。
(2)用户端访问服务器端的php文件
S1:该步与上面访问html静态网页是一样的,通过DNS服务器解析出相应的Web服务器的IP地址。
S2:与上面访问html静态页面相似,不过最后请求的是Apache服务器上相应目录下的php文件,如index.php。
S3:Apache服务器本身不能处理php动态语言脚本文件,就寻找并委托PHP应用服务器来处理(服务器端事先得安装PHP应用服务器),Apache服务器将用户请求访问的php文件(如index.php)文件交给PHP应用服务器。
S4:PHP应用服务器接收php文件(如index.php),打开并解释php文件,最终翻译成html静态代码,再将html静态代码交还给Apache服务器,Apache服务器将接收到的html静态代码输出到客户端浏览器(即用户)。
S5:与上面访问html静态页面相同,浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。
(3)用户端访问服务器端的MySQL数据库
如果用户需要对MySQL数据库中的数据进行操作,那么就需要在服务器端安装数据库管理软件MySQL服务器,用来存储和管理网站数据。由于Apache服务器是无法连接和操作MySQL服务器,所以还需要安装php应用服务器,这样Apache服务器就委托php应用服务器去连接和操作数据库,在对数据库中的数据进行管理的时候,一般都需要用到结构化查询语句,即SQL语句。
S1:该步与上面访问php文件一样,通过DNS服务器解析出相应的Web服务器的IP地址。
S2:与上面访问php文件一样,请求访问Apache服务器上相应目录下的php文件。
S3:与上面访问php文件一样,PHP应用服务器接收Apache服务器的委托,收到相应的php文件。
S4:PHP应用服务器打开php文件,在php文件中通过对数据库连接的代码来连接本机或者网络上其他机器上的MySQL数据库,并在php程序中通过执行标准的SQL查询语句来获取数据库中的数据,再通过PHP应用服务器将数据生成html静态代码。
S5:浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。
需要注意的是,文中(2)与(3)的区别是,一个访问了数据库,另一个没有访问数据库,所以在过程中有点差别。
摘自叶德华的博客
2. 常见的 WEB 服务器有哪些?
lis服务器
lis即Internet Information Services (因特网信息服务),它是"Windows操作系统自带的一款免费的Web服务器软件。lis的安装配置简单,可以对普通html和ASP程序进行解析。一般来说对于小型的ASP系统来说,都可以釆用lis作为其Web服务器。同时,还可以将lis和Apache整合起来一起使用,在整合的过程中要特别注意权限的配置问题。基于nS的web服务器有诸多的优势,lis服务器能够很好的与宿主操作系统进行协作,易于管理,能够通过多种标准操作系统和设备进行相关控制。
Tomcat服务器
Tomcat是一个免费的开源软件,是一个非常好用的Servlet/jsp服务器,tomcat具有轻量级的特点,并且还可以方便地嵌入别的系统,用户量很大,适用范围广。在使用tomcat之前,首先需要安装JDK (Java Develop Kit), JDK是SUN公司提供的一个JAVA语言包。Tomcat技术相对先进,软件运行相对稳定,目前已经是最为广泛被使用的免费jsp服务器。但Tomcat也存在一定的不足之处,它是一个轻量级Web容器,无法满足负责业务场景的要求;缺少更多的监控功能和接口。运行状态的统计数据不多,界面展示相当较差;自动化管理功能缺少等。
Apache服务器
Apache服务器,是Apache基金会旗下的一个开源的网页服务器软件,迄今为止Apache服务器是世界上使用量最高的服务器软件,该软件可以运行在各种操作系统当中,例如Linux、Windows、Unix等,因为它的安全性和多平台性,所以是最流行的Web服务器软件。通过它简单的API进行扩展,可以将Perl/Python等语言的解释器编译到Apache服务器当中。Apache服务器使用简单、速度快、性能稳定,同时还可以当做代理服务器来使用。Apache服务器能够通过多种方式有效的支持广泛的平台,从而最大化的利用操作系统资源。同时它还支持多种工作语言,不仅包括CGI模式,还包括使用动态模块,这种动态模块能够直接在Apache环境内植入语言翻译器,从而极大地提高了应用多种语言的执行速度。
Jboss服务器
Jboss是RedHat旗下的一款开源服务器软件,是一个有全世界程序开发者共同设计的成果,是一个基于J2EE的产品。因为JBoss遵循LGPL许可,所以在任何商业应用中都可以免费的使用它,而不用支付任何的费用。JBoss可以对EJB进行管理,它EJB1.1、EJB2.0和EJB3.0的规范。JBoss核心服务中并不支持Servlet/JSP,所以如果想添加对Jsp/Servlet的支持一般需要与Tomcat或Jetty绑定使用。Jboss的性能表现要比Tomcat优良。Jboss使用比较方便,一般下载完成之后解压配置设置好就可以使用了。
WebLogic服务器
WebLogic是BEA旗下的产品,它是一个应用服务器,同时也是一个基于JavaEE架构的中间件软件。主要用于集成和部署那些大型的分布式Web应用,是一个Java服务器软件。WebLogic将Java企业标准和Java的动态功能引入到大型网络应用的开发、集成和部署当中。Weblogic是一个专业的、安装配置复杂的大型服务器软件。同时它是一个商用的软件,使用收费。随之BEA公司被Oracle收购,WebLogic现属于Oracle公司,并且已经发展到12c版本。
WebSphere服务器
WebSphere是IBM旗下的一个软件平台,它是因特网的一个基础架构软件,即中间件软件。它包含了各种Web应用程序和支持该应用解决方案所需要的整个中间件的基础设施,例如服务器、服务和工具。Websphere使得企业能够开发、部署各种Web程序,对于简单的Web服务和企业级的商务应用,它都能能够很好的提供支持。与WebLogic相比WebSphere更加专业,所以它的价格也更贵。而且一般部署在IBM专业的服务器上
3. 打开浏览器,在地址栏输入 http://jirengu.com
页面展现了饥人谷官网的信息,整个过程发生了什么?(饥人谷官网后台语言 php,web服务器 nginx,数据库 mysql)
(1)用户端访问服务器端的html文件
(2)用户端访问服务器端的php文件
(3)用户端访问服务器端的MySQL数据库
本文版权归本人(帘外修竹)所有,转载须说明来源