LAMP架构概述
LAMP架构是企业级网站应用开发中广泛采用的一种成熟模式,它代表了一套协同工作的系统和软件组合,专为提供动态Web站点服务及其应用开发环境而设计。LAMP是Linux、Apache、MySQL、PHP(或Perl、Python)四个组件首字母的缩写,每个组件都扮演着关键角色。
各组件的主要作用
- Linux(平台):
- 作为LAMP架构的基础,Linux提供了稳定且高效的操作系统环境,为Web站点提供坚实的支撑。其强大的兼容性和稳定性使得AMP组件(Apache、MySQL、PHP/Perl/Python)能够在其上顺畅运行,同时也支持跨平台部署,尽管AMP本身也兼容Windows、UNIX等平台。
- Apache(前台):
- 作为LAMP架构的前端,Apache是一款广受欢迎的Web服务器软件,以其强大的功能和卓越的稳定性著称。它直接面向用户,负责处理来自客户端的请求,发送网页、图片等文件内容,是用户与Web站点之间交互的桥梁。
- MySQL(后台):
- MySQL是LAMP架构中的数据库服务器组件,是一款开源的关系数据库管理系统。它负责存储网站和应用程序所需的各种数据,如账户信息、产品信息、客户资料、业务数据等。通过SQL语句,其他程序可以方便地查询、更新这些信息,实现数据的动态管理和交互。
- PHP/Perl/Python(中间连接):
- 这三种编程语言在LAMP架构中扮演着沟通Web服务器和数据库系统的关键角色。它们负责解释和执行动态网页文件,将用户请求的数据传递给数据库,并将数据库返回的结果以网页形式展示给用户。其中,PHP因其易于学习、广泛支持和与HTML紧密集成的特性,在Web应用开发中尤为受欢迎。
构建LAMP平台的安装顺序
在构建LAMP平台时,通常按照Linux、Apache、MySQL、PHP的顺序进行安装。虽然Apache和MySQL的安装顺序并不严格,但PHP环境的安装一般放在最后,以确保它能够正确地与Web服务器和数据库系统协同工作。这样的安装顺序有助于避免依赖性问题,并确保整个系统的稳定性和兼容性。
编译安装Apache httpd服务指南
1. 准备工作
1.1 关闭防火墙并传输软件包
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
将以下软件包传到/opt
目录下:
- httpd-2.4.29.tar.gz
- apr-1.6.2.tar.gz
- apr-util-1.6.0.tar.gz
1.2 安装环境依赖包
yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl
2. 配置软件模块
2.1 解压软件包
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
2.2 移动apr组件包
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
2.3 配置httpd
cd /opt/httpd-2.4.29/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
3. 编译及安装
make
make install
4. 优化配置
4.1 配置文件路径
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
4.2 添加httpd系统服务
方法一:使用init.d
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
chmod +x /etc/init.d/httpd
# 编辑/etc/init.d/httpd文件,添加以下内容:
#!/bin/bash
# chkconfig: 35 85 21
# description: Apache is a World Wide Web server
chkconfig --add httpd
systemctl start httpd.service
# 或
service httpd start
方法二:使用systemd
vim /lib/systemd/system/httpd.service
# 编辑httpd.service文件,添加或修改以下内容:
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
systemctl start httpd.service
systemctl enable httpd.service
5. 修改httpd服务配置文件
5.1 编辑httpd.conf
vim /etc/httpd.conf
# 修改以下行:
Listen 192.198.80.10:80
ServerName www.kgc.com:80
DocumentRoot "/usr/local/httpd/htdocs"
DirectoryIndex index.html
5.2 检查配置文件并重启服务
httpd -t # 或 apachectl -t
systemctl restart httpd.service
6. 浏览器访问验证
6.1 检查端口监听
netstat -anpt | grep 80
6.2 添加hosts记录
echo "192.168.80.10 www.kgc.com"