阿里云
为了无法计算的价值
打开APP
阿里云APP内打开
学习中心> 阿里云上搭建LAMP环境实战> 正文

阿里云上搭建LAMP环境实战

12课时 |
441人已学 |
免费
课程介绍

LAMP是Linux + Apache + MySQL + PHP的标准缩写。Linux操作系统、网站服务器Apache、数据库MySQL和PHP程序模块的连接,形成一个非常优秀的网站数据库的开发平台。LAMP组合具有简易性、低成本、高安全性、开发速度快和执行灵活等特点,使得其在全球发展速度较快、应用较广,越来越多的企业将平台架构在LAMP之上。本课程将通过实操展示如何使用阿里云云服务器为PHP项目部署LAMP环境。

 

相关的阿里云产品云服务器ECS

云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

了解产品详情: https://www.aliyun.com/product/ecs

LAMP出现和工作原理介绍

 

内容介绍

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

二、WEB服务器工作原理

三、服务器解析语言脚本

四、数据库

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

 

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

1.下载位置

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

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

 

二、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然后去找到这个服务器访问。

 

 

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

 

 

三、服务器解析语言脚本

 

1.引入

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

 

处理动态内容,如:处理请求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等语言,所以就需要再服务器上拓展各个语言对应的语言解析器。

 

四、数据库

1.引入

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

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

 

 

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

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

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

 

 

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

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

 

  1. 第一种:

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

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

 

  1. 第二种:

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

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

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

 

  1. 第三种:

JAVA EE=Linux+Tomcat+Oracle+JSP

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

 

  1. 第四种:

NET=Windows+IIS+SQLServer+ASP

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

 

我的学习进度
请登录后查看您的学习进度!
立即登录
本课程相关云产品