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,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
Dubbo Java 应用服务中间件
Apache ShenYu 架构学习指南
Apache ShenYu 是一款高性能、插件化的微服务API网关,基于Spring WebFlux + Reactor 构建,支持多协议、动态配置与实时数据同步。本指南以通俗类比和实战路径,带你深入理解其架构设计、核心流程与源码实现,助力快速掌握并参与贡献。
653 12
|
4月前
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(二):核心架构
原文:https://jack-vanlightly.com/blog/2025/9/2/understanding-apache-fluss 作者:Jack Vanlightly 翻译:Wayne Wang@腾讯 译注:Jack Vanlightly 是一位专注于数据系统底层架构的知名技术博主,他的文章以篇幅长、细节丰富而闻名。目前 Jack 就职于 Confluent,担任首席技术架构师,因此这篇 Fluss 深度分析文章,具备一定的客观参考意义。译文拆成了三篇文章,本文是第二篇。
518 19
|
4月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
429 2
|
10月前
|
SQL 分布式数据库 Apache
网易游戏 x Apache Doris:湖仓一体架构演进之路
网易游戏 Apache Doris 集群超 20 个 ,总节点数百个,已对接内部 200+ 项目,日均查询量超过 1500 万,总存储数据量 PB 级别。
896 3
网易游戏 x Apache Doris:湖仓一体架构演进之路
|
分布式计算 大数据 Apache
Apache Spark & Paimon Meetup · 北京站,助力 LakeHouse 架构生产落地
2024年11月15日13:30北京市朝阳区阿里中心-望京A座-05F,阿里云 EMR 技术团队联合 Apache Paimon 社区举办 Apache Spark & Paimon meetup,助力企业 LakeHouse 架构生产落地”线下 meetup,欢迎报名参加!
451 59
|
11月前
|
存储 消息中间件 人工智能
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
247 0
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
SQL 存储 分布式计算
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
301 9
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
292 3
|
SQL 分布式计算 Hadoop
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
331 3

热门文章

最新文章

推荐镜像

更多