LAMP 环境软件之间的关系图谱及下载 | 学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 快速学习 LAMP 环境软件之间的关系图谱及下载

开发者学堂课程【阿里云上搭建 LAMP 环境实战:LAMP 环境软件之间的关系图谱及下载】学习笔记,与课程紧密联系,让用户快速学习知识。

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


LAMP 环境软件之间的关系图谱及下载

 

内容介绍

一、LAMP 环境软件之间的关系图谱及下载

二、PHP

三、软件关系图谱

四、源码包安装

 

一、LAMP 环境软件之间的关系图谱及下载

image.png

图中的各个软件安装之间都有关系,其中主要的未 Apache,PHP 和 MySQL 这三个软件,但并非是只装这三个即可,因为他们之间都是有许多依赖关系。

如同安装一扇门就需要首先安装门框,门实在门框的基础上去安装的。其中 Apache 依赖 apr,pcre 和 zlib 的包。

 

二、PHP

1.各种依赖

而 PHP 本身程序的功能有限,需要底层功能的实现时,如:图片缩放,有时网页上传图片显示当图片过大时不易显示,我们就需要缩放;同时原创作者需要上传图片加水印;这些图像的处理,php 语言本身并没有这个功能,所以就需要在这个语言的基础上增加一个模块即 GO 核心库,如果没有安装这个库 PHP 就不会有处理图像的功能。

同时安装的这个处理图像的库底层还需要依赖 freetype(在图片上显示各种字体文件所需要的库),libpng(处理png图片需要的库)和 jpg/jpeg(处理 jpg 图片需要的库)的软件。

image.png

同样 PHP 想处理一些加密的时候,就需要安装 mcrypt 底层依赖的 mhash 库和libmcrypt+ltdl,PHP 才可以调用其中的函数,如:哈希,md5等。

2.phpize 工具

image.png

同时当安装 PHP 过后需要添加新的扩展时并不需要卸载它,只需要使用其中的phpize 工具即可。

由此我们可以在安装的时候就将各种依赖安装进去,也可以在之后使用的使用通过phpize 安装进去。日常操作一般为在初期安装安好基本需要的,而依赖再后期通过phpize 安装进去。

如:MySQL 并非是 PHP 专用的,但是如果 PHP 没有 MySQ 配合如同孙悟空没有了金箍棒,所以此时就需要使用 mysqli 的扩展和 PDO 的扩展。同时之前PHP有一个 MySQL 的扩展但因为安全性差,效率低就被淘汰了。同时 PDO 扩展不仅能够连接 MySQL,还能连接 Oracle 等等数据库。除此之外需要使用 memcache 也需要安装其对应的依赖,之后将对其种种依赖都将进行讲解。

同时其中的各种依赖可以选择使用 apm 包安装,只要核心的 Apache、PHP和MySQL 是采用源码安装知晓安装位置和扩展工具即可。

3.Composer

PHP 中有一些核心类库,除了使用 phpize后期安装,也可以使用 Composer,它不需要依赖支持,因为它其中都是 php 语言编写而成,包括一些框架等。比如:处理word 文件,execle 文件和接口都可以使用 Composer 安装。

 

三、软件关系图谱

image.png

以上就是软件之间的图谱,需要安装的有20多个。其中下面表格罗列出来了所有的介绍,如果不了解应该先安装哪个,就按照学习猿地中上传的安装手册进行安装。

如:安装 Apache 之前就应该要先安装 apr 因为它是 Apache 之中独立出来的,arp-util 同,它们都是用来处理多平台底层接口的库。除此之外 Apache 需要处理一些与正则相关,url 重写和伪静态的时候就需要使用 prce 一个正则的扩展。

同时 Apahce 和 PHP 都用到的 Zlib 是用来处理压缩的,如当一个5兆的文件需要上传压缩后再传给用户即节省带宽又可以加快上传速度。

PHP 本身也需要批量处理和批量压缩等等也需要使用 Zlib 的库。

主体采用源码包安装即可,一些需要的库可直接使用 yum 安装。

 

四、源码包安装

1.LAMP 源码包下载位置

在 Linux 服务器中使用 wget 直接在学习猿地的“猿材料”中下载需要的最新源码包,可以一个个下载到终端去使用,下载到本地电脑再使用 ftp 传过去。

image.png

也可以下载如图压缩包,其中包含所有源码压缩包。

image.png

也可以使用 wget 工具直接下载,点击复制链接地址,同时要具有权限才可以直接复制链接地址,否则就还需下载。

2. 安装 LAMP 环境全部源码包

直接下载到/root 目录下即可,使用 unzip 解压到当前目录,如果没有安装 unzip工具,可以使用 yum 安装。

(1)wget +复制下载的路径

在XShell中输入命令wget +#wget https;//cdn2.Imonkey.com/e7977e11d6abd86e36466784beaf24c5/190e0d241f4648908245a2ff732f9080.zip(复制的下载链接),回车执行语句后等待下载。

image.png

(2)unzip 解包

输入ls,pwd 命令将其放在 root 目录下面,因为它是 zip 的包需要使用 unzip来解包,而可能会出现 unzip 软件没有被找到的情况,首先要输入 yum -y unzip 命令来通过 yum 源来进行安装

image.png

之后再输入 unzip 指令进行解包即可,同时进入到原先安装的软件位置,输入指令ls->cd lamp->ls 即可显示以下当前软件的安装位置。

image.png

3. 编译安装

(1.)安装报错

源码包都为 c 语言编写不同于 PHP 解析文件,需要编译安装才能够使用,所以我们要先将.c 文件进行编译,同时如果遇到 mysql 这样有上万个.c文件的时候并非需要一个个去编译,这样效率太慢,同时文件之间的包含关系过于混乱不知如何下载,所以常使用make,叫做makefile文件,即将几千几万个.

c 文件写在一个文件中再使用脚本解析,然后 make 找到脚本去一点点编译,需要安装时只需使用 make 一键安装即可,在配置 makefile 文件时,常使用./configure去配置 makefile 文件,它是专门去编译的,可以指定安装的目录和参数,以及检查环境,同时根据软件的不同,还可以去看每一个具体的参数,所以通常自定义安装配置参数常常会使用到它。

注意:每个源码包配置编译安装完成后,确认安装目录下是否生成安装文件(并确定目录是否正确)

同时建议将安装路径指定为[--prefix=/usr/local/软件名]格式

源码软件包安装报错确认与解决方案

l echo $?    

#安装软件过程中由于频繁刷屏,建议在每个步骤结束后执行此命令

l ./configure  

#此步骤报错多是依赖关系没解决或是编译工具未安装(注意关键词提示)

l make      

#此步骤多是编译时选项参数书写错误、不存在、漏写等问题

#一般需要检查上一个步骤:./configure --help

注意:若遇到报错,最简答的办法是,找到问题解决后重新解压软件,重新安装,步骤最简洁。

(2)安装 gcc、gcc-c++、make 等编译工具

同时在makefile的配置时大多使用的都是 c,c++,c#等语言,所以久需要先安装gcc、gcc-c++等工具。

# yum -y install gcc gcc-c++ make

安装 c++ 编译器:yum -y install gcc-C++,再次编译通过。

l 实际操作:

① 在 Xshell 操作台中按照顺序首先输入# yum -y install gcc

gcc-c++ make

② 再输入#gcc --version 查看 gcc 的版本

③ 随便寻找一个软件做测试,首先#ls(解包)->#tar -xf libxml2-

2.9.9.tar.gz->#ls->cd libxml2-2.9.9(进入到该目录下)->#ls 就可以看见以下结果。

输入#.config -help 就可以查看当前可以指定的参数配置的信息。不必全部记忆,只需要指定一下lmbxml的目录即可。输入命令:#./configure --prefix-/usr/local/libxml2/,执行完毕之后输入#clear 命令清屏。再输入#ls,可以看出多了一些 config 文件,就是生成的给我们完整写好的编译过程。

输入命令:#vi Makefile 之后就会按照文件的执行过程去执行。同时输入#make 来执行 make 文件,会看到在执行窗口中出现很多 io 文件,同时编译过程可能需要一些时间,在编译一些大型文件也是如此。等待编译完成之后,再输入ls就可以看见出现许多后缀.o的文件。

我们可以首先输入命令#cat buf.c 查看任意一个.c的文件,再输入#cat buf.o 查看buf.c 对应产生的编译文件,将两个文件比较。

查看两文件比较后,输入#clear 命令清屏,然后将编译的文件放入相应的位置。如果想要查看编译时是否出错。可以输入指令:#echo $?来查看,显示0则说明安装成功,没有问题。

④ 查看软件安装

因为安装的库是无法使用,而是给其他软件作依赖的,所以只需输入指令#cd /user/local/libxml2/再输人:#ls显示出 bin include lib share 安装上即可。当其他软件需要这个库只需要指定这个软件所在的位置,此库作为依赖供别的软件使用即可。

(3)安装 libxml 进行安装测试

# tar -xf libxml2-2.9.9.tar.gz

# cd /root/lamp/libxml2-2.9.9

# ./configure --prefix=/usr/local/libxml2/

#make

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
前端开发 测试技术 程序员
在工作中会涉及到的几个环境(概念补充) 办公环境、开发环境、测试环境、线下环境、线上环境/生产环境都是什么,他们之间的关系?
本文解释了在职场中可能会接触到的不同环境,包括办公环境、开发环境、测试环境和生产环境(线上环境),以及它们之间的关系和重要性。
59 1
|
3月前
|
存储 Kubernetes 监控
软件环境管理问题之不可变环境的定义如何解决
软件环境管理问题之不可变环境的定义如何解决
|
11月前
|
安全 Linux 网络安全
论文推荐| 面向虚拟地理环境的Linux平台地理分析模型服务化封装方法
论文推荐| 面向虚拟地理环境的Linux平台地理分析模型服务化封装方法
69 9
|
Oracle Java 关系型数据库
Java开发环境(JDK)安装指南与独立见解
Java开发环境(JDK)安装指南与独立见解
203 0
|
监控 图形学
SolidWorks是目前结构工程领域最流行和广泛应用的3D CAD软件——下载安装教程
SolidWorks是一款流行且广泛应用于机械设计和工程学科的3D CAD软件,它可以帮助工程师实现3D建模、分析、绘制和制造各种机械部件和设备。该软件的建模工具与用户友好的操作界面使得工程师能够轻松创建各种图形、零部件和装配体。此外,SolidWorks还包括多种实用工具和模块,如模拟、生产和管理模块等,可以满足设计师在不同阶段的需求。其中模拟模块为工程师提供了可靠的设计评估和仿真工具,生产模块则可以用于规划和监控制造过程,而管理模块则是为用户提供了方便的协作和版本管理工具。
|
存储 Ubuntu 开发工具
谨以此写下本人安装riscv的全过程 简单易懂!!(本人环境是在ubuntu18.04中)
谨以此写下本人安装riscv的全过程 简单易懂!!(本人环境是在ubuntu18.04中)
|
自然语言处理 数据库 数据安全/隐私保护
Elasticearch 安装 基础介绍 (一)
Elasticearch 安装实战操作 作者主页:https://www.couragesteak.com/
Elasticearch 安装 基础介绍 (一)
|
运维 前端开发 开发者
2021你应该解决前端环境差异
2021你应该解决前端环境差异
134 0
2021你应该解决前端环境差异
下一篇
无影云桌面