LAMP概述
LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或Perl、Python)网页编程语言。
各组件作用
- -L:很显然L代表Linux系统,但此L需注意系统的版本号,如Centos6.9或Centos7.3;
- -A:表示apache,在传统行业中,多数采用Apache服务器,因此也很有必要了解学习Apache;
- -M:表示数据库,多数采用mysql或mariadb,作为专业的数据库工程师需经多年的历练;
- -P:表示PHP、python、perl等等编程语言。
apache主要实现如下功能
一:处理http的请求、构建响应报文等自身服务;
二:配置让Apache支持PHP程序的响应(通过PHP模块或FPM);
三:配置Apache具体处理php程序的方法,如通过反向代理将php程序交给fcgi处理。
mariadb主要实现如下功能
一:提供PHP程序对数据的存储;
二:提供PHP程序对数据的读取(通常情况下从性能的角度考虑,尽量实现数据库的读写分离)。
php主要实现如下功能
一:提供apache的访问接口,即CGI或Fast CGI(FPM);
二:提供PHP程序的解释器;
三:提供mairadb数据库的连接函数的基本环境。
由此可知,要实现LAMP在配置每一个服务时,安装功能需求进行配置,即可实现LAMP的架构,当然apache、mariadb和php服务都可配置为独立服务,安装在不同服务器之上。
编译安装Apache httpd服务
将安装的Apache所需软件包传到/opt目录下
apr组件包用于支持Apache上层应用跨平台,提供底层接口库,能有效的降低并发连接数、降低进程和减少访问堵塞。
解压跨平台组件包和源码包
cd /opt/
tar zxf apr-1.6.2.tar.gz //在/opt目录下解压这三个包
tar zxf apr-util-1.6.0.tar.gz
tar jxf httpd-2.4.29.tar.bz2
将跨平台组件包移动到源码包目录下
mv apr-1.6.2 /opt/httpd-2.4.29/srclib/apr //将解压出来的apr目录移动到httpd目录下并改名
mv apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util
安装编译器和其他工具
yum -y install \
gcc \ //C语言的编译器
gcc-c++ \ //C++的编译器
make \ //源代码编译器(源代码转换成二进制文件)
pcre \ //pcre是一个Perl函数库,包括perl 兼容的正则表达式库
pcre-devel \ //perl的接口开发包
expat-devel \ //用于支持网站解析HTML、XML文件
perl //perl语言编译器
yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl
- 安装之前先检查DNS有没有配(没有配则无法安装)
configure配置
cd /opt/httpd-2.4.29/ //切换到httpd目录下
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
//指定httpd服务程序安装路径及启动多项功能
./configure \
--prefix=/usr/local/httpd \ //指定将 httpd 服务程序的安装路径
--enable-so \ //启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite \ //启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite \ //启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi //启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力