LAMP概述
LAMP概念
LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:
1:Linux,操作系统
2:Apache,网页服务器
3:MariaDB或MySQL,数据库管理系统(或者数据库服务器)
4:PHP、Perl或Python,脚本语言
虽然这些开放源代码程序本身并不是专门设计成同另几个程序一起工作的,但由于它们的廉价和普遍,这个组合开始流行(大多数Linux发行版本捆绑了这些软件)。当一起使用的时候,它们表现的像一个具有活力的“解决方案包”(Solution Packages)。其他的方案包有苹果的WebObjects(最初是应用服务器),Java/J2EE和微软的.NET架构。
“LAMP包”的脚本组件中包括了CGIweb接口,它在90年代初期变得流行。这个技术允许网页浏览器的用户在服务器上执行一个程序,并且和接受静态的内容一样接受动态的内容。程序员使用脚本语言来创建这些程序因为它们能很容易有效的操作文本流,甚至当这些文本流并非源自程序自身时也是。正是由于这个原因系统设计者经常称这些脚本语言为胶水语言。
Michael Kunze在一篇为德国计算机杂志《c’t》(1998,第12期,230页)而写的文章中使用了缩略语“LAMP”。这篇文章意在展示一系列的自由软件成为了商业包的替换物。由于IT世界众所周知的对缩写的爱好,Kunze提出“LAMP”这一容易被市场接受的术语来普及自由软件的使用。
编译安装Apache httpd服务
关闭防火墙,将安装Apache所需软件包传到/opt目录下
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
cd /opt
httpd-2.4.29.tar.gz
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
#apr组件包用于支持Apache上层应用跨平台,提供底层接口库,能有效的降低并发连接数、降低进程和减少访问堵塞。
安装环境依赖包
yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl
yum -y install \
gcc \ #C语言的编译器
gcc-c++ \ #C++的编译器
make \ #源代码编译器(源代码转换成二进制文件)
pcre \ #pcre是一个Perl函数库,包括perl 兼容的正则表达式库
pcre-devel \ #perl的接口开发包
expat-devel \ #用于支持网站解析HTML、XML文件
perl #perl语言编译器
配置软件模块
cd /opt/
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2
mv apr-1.6.2 /opt/httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util
cd /opt/httpd-2.4.29/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
------------------------------------------------------------------------------------------------------
各配置命令作用解释如下:
--prefix=/usr/local/httpd \ #指定将 httpd 服务程序的安装路径
--enable-so \ #启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite \ #启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite \ #启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi #启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力
编译及安装
make #make -j 2 表示开2核同时进行编译
make install
优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
添加httpd系统服务
第一种:
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd #用于service服务管理
chmod +x /etc/init.d/httpd
vim /etc/init.d/httpd
#!/bin/bash #在第一行前插入新行,添加此三行内容
# chkconfig: 35 85 21 #35级别自动运行 第85个启动 第21个关闭
# description: Apache is a World Wide Web server
chkconfig --add httpd #将httpd服务加入到service管理器
systemctl start httpd.service #开启http服务(关闭和开启要使用相同的方式)
或
service httpd start #开启http服务(关闭和开启要使用相同的方式)
第二种:
vim /lib/systemd/system/httpd.service
[Unit]
Description=