LAMP 出现和工作原理介绍 | 学习笔记

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云服务器ECS,u1 2核4GB 1个月
简介: 快速学习LAMP 出现和工作原理介绍

开发者学堂课程【阿里云上搭建 LAMP 环境实战:LAMP 出现和工作原理介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/663/detail/11083


LAMP出现和工作原理介绍

 

内容介绍

一、LAMP 的环境搭建安装手册

二、WEB 服务器工作原理

三、服务器解析语言脚本

四、数据库

五、环境配置的“黄金搭档”

 

一、LAMP的环境搭建安装手册

1.下载位置

打开学习猿地,点击其中的猿工手册

来到开发手册大全,在其中 Linux 运维手册里点击就可以下载,下载到文件位置之后打开就可以点击查看。

image.png


二、WEB 服务器工作原理

在搭建 LAMP 环境的时候应该首先了解什么是 LAMP,而要了解 LAMP 就应该先知道网站的工作环境。

在请求网站时,输入的网址被称作域名,各个浏览器可以兼用,而对应使用的服务器可以是自行购买的放在机房或者本地皆可。此时我们需要使用的为云服务器,是生产环境中应用的环境。因为云服务器的稳定性以及扩展性都十分好。

但不论是云服务器或是自行安装的上面都需要一个操作系统,而操作系统有 Linux,而对 Linux 不熟悉则可以使用 windows。我们想要请求一个网站,网站首先就是由各种 html,css 代码组成的文本文件,而这些文件并非是放在云服务器上或是电脑上就可以访问的,我们使用 WEB 服务器将网站发布出去,常见的WEB服务器有Apache、Negix、Tomcat和#s。

WEB 服务器的原理十分简单就是当你需要哪个文件就原封不动的将哪个文件给你发送过去,同时也可以十分复杂。在请求的时候通过对各种情况的设置达到不同效果,如:对请求压缩,对请求.jsp,.js 和 .php 的文件分别做什么处理等等,都是 web服务器需要过渡的原理。

在之后的课程也有应用。同时 WEB 服务器并非是可以任意访问的,它需要遵循一个协议。

需要访问时,用户会在客户端输入一个url地址,如http://www.lmonke.com/page/index.html,在此使用的协议就是 http,域名即网址就是www.lmonke.com通过DNS将其翻译成网址对应定位到服务器,与此同时http 默认使用了80端口。假设此时的服务器ip为39.100.101.98,当输入网址后根据DNS 域名解析后就可以得到对应的服务器ip39.100.101.98然后去找到这个服务器访问。

image.png

在 linux 中安装了许多服务其中有一个服务 WEB 服务器默认的端口是80,我们就可以根据80端口去找到对应的服务器,同时端口号是可以设置的,再根据 http 网页传输协议去访问80端口的服务器,WEB 服务器就会原封不动的把其中page/index.html 通过80端口给传回到网页去显示内容,以上就是 WEB 服务器的工作原理。

image.png

 

三、服务器解析语言脚本

1.引入

当我们访问的不是 index.html 文件而是 page 目录下的 index.jsp 或者.php,过程与其一致,但因为此时服务器并未安装任何,所以只会在 WEB Server下找到page/index.php 然后通过端口80将 php 文件的原生代码发送到网页上展示,并非如我们所想,我们需要的是将 php 文件能够被网页所执行然后展示出结果再给浏览器而非一串源码。

image.png

处理动态内容,如:处理请求 php,page/index.php?user_id=5表示传入用户id为5,此时 php 文件想要从数据库中查出 user_id=5的数据,但此时 Tomcat,Apache或者 Nginx 服务器都没有去解析 php 文件的能力,所以此时就需要为服务器安装扩展功能,找一个服务器解析语言脚本挂在服务器上实现解析功能,即语言解析器。

各类的语言解析器负责解析各种对应的语言,如 PHP 解析器去解析 php 文件,Python 解析器解析 python 语言。而语言解析器并非存在服务器里的,是被挂载在服务器的,以此成为服务器的扩展模块。而主要功能为在接受对应服务器无法解析的语言后先不着急将其发送给网页,而是先在扩展的解析模块中将其解析出来将其中的代码翻译并且执行之后再交给 Apache,Apache 再交给浏览器。

2.总结

WEB 服务器本身无法解析 jsp,php,python 等语言,所以就需要再服务器上拓展各个语言对应的语言解析器。

image.png

 

四、数据库

1.引入

此时 php 文件想获取数据库中 user_id=5的用户数据就需要到数据库中查找,如今都为动态网站,而衡量是否为动态网站的标准则为:数据是否存储在数据库中,在如今大多数网站都采取存储数据库的做法,不论表单注册和列表数据。

所以还需要安装数据库,常见关系型数据库有 MySQL,Oracle 和 SQLServer,除此外还要非关系型数据库,如:MagoDB。

image.png

2.web 工作原理(完整版)

当要获取 user_id=5的用户数据首先根据端口找到对应的 page/index.php 文件,找到之后就会交给对应的 php 语言解析器将 php 文件解析,而在解析途中发现其中含有数据库内容,就会去到数据库中找到 user_id=5的用户数据之后将结果返回给 php 文件,而 php 整理完就会将用户的结果返回给 Apache,Apache 会将结果的文本内容再返回给页面。

以上就是我们在请求用户 id 为5之后看到的用户信息结果的原理。

image.png

 

五、环境配置的“黄金搭档”

WEB 工作原理需要的基本软件为 Web Server、语言解析器和数据库,但其实这三类的软件种类繁多,是能够任意搭配的,可以选择全装,但在开发时我们常常采用最合适的搭配,俗称“黄金搭档”。

1. 第一种:

LAMP=Linux+Apache+MySQL+PHP(Python)

其中本章讲述的LAMP环境其实就是 Linux+Apache+MySQL+PHP 这种最基础的配置。其中的 p 还可以指代 Python

2. 第二种:

LNMP=Linux+Nginx+MySQL+PHP(Python)

其中 mysql 是最为常用的数据库软件,而 Nginx 最早是由俄罗斯研发的 Web 服务器,最早是 Apache 市场是最大的。

以上两种皆为在日常开发中选择最多的情况,两者任选其一即可。

3. 第三种:

JAVA EE=Linux+Tomcat+Oracle+JSP

JAVA EE  选择的是 Linux 或 Windows 皆可,服务器选择 Tomcat (汤姆猫),数据选择 Oracle,语言选择 JSP,除了 JSP 还可以使用一些java的框架。他们都统称为JAVA EE,又称 JAVA WEB。

4. 第四种:

NET=Windows+IIS+SQLServer+ASP

其中使用的 IIS 和 Windows 都是微软旗下的。以上就是几种服务器环境配置的组合,本章重点介绍的就是第一种,最后除了基本的 Linux+Apache+MySQL+PHP(Python),我们还需要一些周边依赖的软件和需要使用的(最新版)都会进行安装。

相关文章
|
关系型数据库 MySQL Java
|
关系型数据库 MySQL Apache
快速搭建LAMP环境--学习记录
快速搭建LAMP环境--学习记录
103 0
|
关系型数据库 Linux PHP
|
关系型数据库 测试技术 PHP
|
Web App开发 关系型数据库 测试技术