
lamp架构
发布日期:2021-05-14 04:42:54
浏览次数:20
分类:精选文章
本文共 2876 字,大约阅读时间需要 9 分钟。
LAMP架构及其搭建步骤说明
LAMP架构概述
LAMP(Linux、Apache、MySQL/MariaDB、PHP/Perl/Python)是一种常用的开源Web开发架构,广泛应用于动态网页开发。架构主要包含以下主角:
- Linux:操作系统基础,提供稳定的运行环境。
- Apache:常用Web服务器,负责 HTTP 协议的处理。
- MySQL/MariaDB:关系型数据库,用于数据存储和管理。
- PHP/Perl/Python:用于服务器端脚本编写,生成动态内容。
Web服务器的资源处理
Web服务器的资源可以分为静态资源和动态资源两类:
静态资源
- 特点:客户端获取的资源与原文件一致,服务器无需处理。
- 类型:
.html
,.htm
,.jpg
,.png
等静态文件。
动态资源
- 特点:需要服务器端程序处理后返回给客户端。
- 类型:
.php
,.aspx
,.jps
等程序文件。
CGI与FastCGI
CGI(Common Gateway Interface)
- 定义:CGI是Web服务器与外部应用程序之间的接口标准,用于将CGI程序与Web服务器连接起来。
- 工作原理:Web服务器接收请求后,通过CGI协议调用外部程序(如PHP解释器),处理请求后返回结果。
FastCGI
- 改进点:采用Master-Worker模式,减少进程创建和销毁的开销,提升处理效率。
- 优点:资源利用更高,性能更佳。
httpd与PHP的结合方式
方式一:模块化模式
- 特点:PHP作为httpd的扩展模块加载,语用轻量化。
- 优势:直接访问PHP模块处理资源,无需外部调用。
方式二:prefork模型
- 特点:PHP使用多进程模型,称为
libphp5.so
。 - 优点:内存管理明确,适合高并发场景。
方式三:FastCGI模式
- 特点:通过PHP-FPM管理PHP进程,提供更高的性能。
- 优势:适合高负载环境,资源利用率高。
LAMP架构搭建指南
1. 安装Apache
安装依赖工具
dnf -y install gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel make expat-devel libtool
解压并编译安装
tar xf apr-1.7.0.tar.bz2tar xf apr-util-1.6.1.tar.bz2tar xf httpd-2.4.43.tar.bz2
编译与配置
cd ./apr-1.7.0./configure --prefix=/usr/local/aprmakemake installcd ./apr-util-1.6.1./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/aprmakemake installcd ./httpd-2.4.43./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 \--enable-so --enable-ssl --enable-cgi --enable-rewrite \--with-zlib --with-pcre --with-apr=/usr/local/apr \--with-apr-util=/usr/local/apr-util/ --enable-modules=most \--enable-mpms-shared=all --with-mpm=preforkmakemake install
用户权限设置
useradd -r -M -s /sbin/nologin -g apache apachechown -R apache.apache /usr/local/apache/
2. 安装MySQL
安装依赖
dnf -y install ncurses-devel openssl-devel cmake mariadb-devel
解压并安装
tar xf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz -C /usr/localmv mysql-5.7.33-linux-glibc2.12-x86_64/ mysql
数据目录与权限
mkdir /opt/mysql_datachown -R mysql:mysql /opt/mysql_data
初始化与配置
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/opt/mysql_datavim /etc/my.cnf
3. 安装PHP
dnf -y install php*
启动PHP-FPM
service php-fpm start
4. 配置Apache
启用模块
LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
添加压缩支持
AddType application/x-compress .ZAddType application/x-gzip .gz .tgzAddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps
设置默认页面
虚拟主机配置
DocumentRoot "/usr/local/apache/htdocs/hanao" ServerName www.hanao.com ProxyRequests Off ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/%{REQUEST_FILENAME} ...
5. 创建PHP应用目录及测试页面
mkdir -p /usr/local/apache/htdocs/hanaochmod -R apache.apache /usr/local/apache/htdocs/hanaovim /usr/local/apache/htdocs/hanao/index.php
多台主机部署
Apache主机配置
安装Apache、MySQL、PHP并配置虚拟主机。
PHP主机配置
安装PHP-FPM,并设置php-fpm
监听本地端口9000:
vim /etc/php-fpm.d/www.conflisten = /run/php-fpm/www.socklisten = 0.0.0.0:9000service php-fpm restart
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月15日 09时59分03秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
cordova打包apk更改图标
2019-03-11
开启与配置SMTP服务器
2019-03-11
postman基本使用方法
2019-03-11
域名解析步骤
2019-03-11
APP卡片式设计
2019-03-11
1.普通注册界面(html)(转载于JavaWeb应用开发与实践)
2019-03-11
GitHub上传时,项目在已有文档时直接push出现错误解决方案
2019-03-11
云数据库
2019-03-11
图计算
2019-03-11
大数据在不同领域的应用
2019-03-11
页面置换算法
2019-03-11
推荐系统资料
2019-03-11
文件系统的层次结构
2019-03-11
减少磁盘延迟时间的方法
2019-03-11
vue(渐进式前端框架)
2019-03-11
权值初始化和与损失函数
2019-03-11
案例讨论
2019-03-11
传输层基本功能
2019-03-11
最长公共子序列
2019-03-11
问题的计算复杂度:排序问题
2019-03-11