LAMP架构(apache安装,apache工作原理介绍)

简介:

一、apache介绍。

apache是一个基金会的名字,httpd才是我们要安装的软件包,早起叫apache,从2.0版本开始叫apache。

apache官网:www.apache.org

下载三个软件

http://mirrors.cnnic.cn/apache/
apr和apr-util是一个通用的函数库,可以让HTTPd不关心底层的操作系统,很方便的移植,比如从Linux到windows

http://mirrors.cnnic.cn/apache/apr/

二、apache安装

分别解压三个软件

tar zxvf apr-***.tar.gz

tar zxvf apr-util-***.tar.gz

tar zxvf httpd-***.tar.gz


先安装apr
cd apr-***.tar.gz

./configure --prefix=/usr/local/apr

make && make install


在安装apr-util-***.tar.gz

./configure --prefix=/usr/local/apr-util

--with-apr=/usr/local/apr                  (指定apr,依赖apr)

make && make install

这里可能会出现一个问题,提示缺少expat的开发库,安装一下就好

yum install expat-devel -y


最后安装httpd-***.tar.gz

./configure --prefix=/usr/local/apr-util 

--with-apr=/usr/local/apr                      (指定apr,依赖apr)

--with-apr-util=/usr/local/apr-util               (指定apr-util,依赖apr-util)

--enable-so                                (支持动态加载模块,例如php)

--enable-mods-shared=most                      (指定加载哪些模块,most表示绝大多数)


make && make install

这里会提示缺少pcre,pcre是个Perl库.包括perl兼容的正则表达式


进入/usr/local/apache2.4中

bin下是可执行文件

conf 是配置文件所在目录

htdocs 存放了一个访问页,默认的访问网页

logs 日志相关的目录

man 帮助文档

modules 存放了扩展模块


/usr/local/apache2.4/bin/httpd -M    

/usr/local/apache2.4/bin/apachectl -M    都是查看apache加载了哪些模块


static 静态模块  和bin/httpd是绑定在一起的文件

shared 动态模块  是一个.so文件,是在modules目录下


/usr/local/apache2.4/bin/apachectl start  启动apache

netstat -lntp                    查看默认监听80端口,mysql默认监听3306端口,ssh默认监听22端口



apache的三种工作模式:
(1)prefork:prefork模式算是很古老但是非常稳定的apache模式。apache在启动之初,就先fork一些子进程,然后等待请求进来。之所以这样做,是为了减少频繁创建和销毁进程的开销。每个子进程只有一个线程,在一个时间点内,只能处理一个请求
优点:成熟稳定,兼容所有新老模块。同时,不需要担心线程安全问题
缺点:一个进程相对占用更多的系统资源,消耗更多的内存。而且,他并不擅长处理高并发请求,在这种场景下,它会将请求放进队列里,一直等到有可用进程,请求才会被处理
(2)worker:和prefork模式相比,worker使用了多线程和多进程的混合模式,worker模式也同样会先预派生一些子进程,然后每个子进程创建一些线程,同时包括一个监控线程,每个请求过来会被分配到一个线程来服务。线程比进程更轻量,因为线程是通过共享父进程的内存空间,因此,内存的占用会减少一些,在高并发的场景下会比prefork有更多可用的线程,表现更优秀些
优点:占用更少的内存,高并发下表现优秀
缺点:必须考虑线程安全的问题,因为多个子线程是共享父进程的内存地址的。如果使用keep-alive长连接的方式,某个线程会一直被占据,也许中间几乎没有请求,需要一直等待到超时才会被释放。如果太多的线程,被这样占据,也会导致在高并发场景下的无服务线程可用
(3)event:它和worker模式很像,不同的是它解决了keep-alive长连接的时候占用线程资源被浪费的问题,在event模式中,会有一些专门的线程来管理这些keep-alive类型的线程,当有真实请求过来的时候,将请求传递给服务器的线程,执行完毕后,又允许它释放,增强了在高并发场景下的请求处理











本文转自 小新锐 51CTO博客,原文链接:http://blog.51cto.com/13407306/2051401,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(一):核心概念
Apache Fluss是由阿里巴巴与Ververica合作开发的Flink表存储引擎,旨在提供低延迟、高效率的实时数据存储与变更日志支持。其采用TabletServer与CoordinatorServer架构,结合RocksDB和列式存储,实现主键表与日志表的统一管理,并通过客户端抽象整合湖仓历史数据,弥补Paimon在实时场景下的性能短板。
951 22
Confluent 首席架构师万字剖析 Apache Fluss(一):核心概念
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
561 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
6月前
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(三):湖流一体
原文:https://jack-vanlightly.com/blog/2025/9/2/understanding-apache-fluss 作者:Jack Vanlightly 翻译:Wayne Wang@腾讯 译注:Jack Vanlightly 是一位专注于数据系统底层架构的知名技术博主,他的文章以篇幅长、细节丰富而闻名。目前 Jack 就职于 Confluent,担任首席技术架构师,因此这篇 Fluss 深度分析文章,具备一定的客观参考意义。译文拆成了三篇文章,本文是第二篇。
785 25
Confluent 首席架构师万字剖析 Apache Fluss(三):湖流一体
|
6月前
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(二):核心架构
原文:https://jack-vanlightly.com/blog/2025/9/2/understanding-apache-fluss 作者:Jack Vanlightly 翻译:Wayne Wang@腾讯 译注:Jack Vanlightly 是一位专注于数据系统底层架构的知名技术博主,他的文章以篇幅长、细节丰富而闻名。目前 Jack 就职于 Confluent,担任首席技术架构师,因此这篇 Fluss 深度分析文章,具备一定的客观参考意义。译文拆成了三篇文章,本文是第二篇。
768 19
|
6月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
588 2
|
SQL 分布式数据库 Apache
网易游戏 x Apache Doris:湖仓一体架构演进之路
网易游戏 Apache Doris 集群超 20 个 ,总节点数百个,已对接内部 200+ 项目,日均查询量超过 1500 万,总存储数据量 PB 级别。
1076 3
网易游戏 x Apache Doris:湖仓一体架构演进之路
|
SQL 存储 数据处理
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
655 1
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
存储 消息中间件 缓存
独特架构打造新一代消息队列Apache Pulsar
Apache Pulsar 是一个开源的分布式消息流平台,由雅虎开发并于 2016 年开源,2018 年成为 Apache 顶级项目。Pulsar 通过独特的架构提供多租户、持久化存储和批处理等高级功能,支持高吞吐量、低延迟的消息传递。其核心组件包括 Broker、Apache BookKeeper 和 Apache ZooKeeper,分别负责消息处理、持久化存储和集群管理。
619 1

热门文章

最新文章

推荐镜像

更多