如何进行Apache的配置与调试?

news/2024/11/26 11:34:47/

1. Apache简介

Apache 是一个提供HTTP服务的WEB软件,由apache 基金会进行运营并开源。

2. Apache特性

1. 模块化:很多功能都不是由apache本身来完成的,而是由apache自身携带的模块和其扩展模块来完成的,因此一个完整的Apache的web服务= 自身的模块 + 扩展模块(因此将扩展模块又称为第三方模块)

2. DSO特性:能够让apache的功能进行动态管理(所谓的动态管理也就是可以停止和启用模块)

3. 拥有丰富的进程模型(MPM多进程访问模型)

3. Apache进程模型

3.1. perfork 多进程模型

描述:进程预启动,减少频繁创建和销毁进程的开销,一个进程只能派生一个线程处理一个请求,同一时刻只能处理一个请求;最大可支持每秒启动32个进程

优点:稳定兼容apache早期的各种模块的功能

安全 只有主进程使用root启动后绑定80端口,工作进程使用普通用户启动

缺点: 对进程的消耗和创建频繁,因此消耗系统资源多(CPU资源)在高并发场景下,容易出现IO等待,也就是请求需要排队

场景:早期一些依赖apache较老的模块(比如CGI的脚本),还有低频的安全访问场景(智能终端设备的web管理系统,像光猫、路由器)

3.2. worker 多线程模型

  • 描述:启动多个子进程,同时每个子线程会创建线程出来,然后由线程去响应连接请求,这种模式下占用的资源较少,可以处理大量并发请求,但是其中子进程或线程崩溃,会影响该子进程下的全部任务,同时长连接的请求的被一直占用,直到超时后才会释放
  • 优点: 占用内存少、高并发下请求处理性能更优
  • 缺点:由于使用共享内存的机制进行进程间的通信,因此线程的安全系数不如进程强;高并发场景下的长连接是不擅长的,在高并发场景中如果开启长连接,当一定数量的请求保持长连接时就会发生IO阻塞,新的请求就没有空闲的线程来进行处理,导致请求排队
  • 场景:高并发的应用场景,例如论坛,电商网站…

3.3. event 异步IO模型

  • 描述:每个子进程下面有监听线程,用于改善worker模式下长连接一直占用线程的问题,监听线程负责接收请求,并将其转发给工作线程,工作线程负责真正处理请求,监控线程只会把真正的请求转发给工作线程,而空线程不会转发
  • 优点:解决了高并发中keepalive长期占用线程引起阻塞问题
  • 缺点: Linux在内核在2.6+以上(对epoll事件支持)
  • 场景: 适合实时通讯业务,在线聊天平台,通讯内的短连接应用(短时间内有大量的并发)

4. Apache的安装

4.1. 第一种、是基于发行包的安装(RPM包或者是YUM/DNF)

openEuler的仓库中已经自带了 apache的网络源

yum  install httpd  -y  

httppd  -v  #查看所安装的版本号

4.2. 第二种、是基于源码包的编译安装

1. 下载源码包

2. 安装编译工具和依赖包

3. 配置编译选项

4. 预编译

5. 编译安装

5. Apache的配置文件

  • /etc/httpd 服务配置文件目录(所有对于apache的配置包括虚拟主机、https、访问控制、身份验证、资源管理… 都在该目录下完成配置)
  • conf主配置文件的目录
  • conf/httpd.conf 主配置文件
  • conf.d 是扩展的配置目录(该目录重点用来配置虚拟主机)
  • conf.modules.d 功能模块的配置目录(该目录下放的是启用模块的配置文件)
  • logs 日志目录 对应的真实目录 /var/log/httpd/
  • access_log 访问日志
  • error_log 错误日志
  • modules /usr/lib64/httpd/modules 功能模块的库都放在该目录下
  • run /run/httpd 是apache的运行状态
  • 进程套接字、进程的PID、以及缓存
  • state apache的运行状态信息 (失败的记录)

6. Apache的工作模式

调整Apache的工作模式

配置文件: /etc/httpd/conf.modules.d/00-mpm.conf

只能三选一,需要使用哪一个工作模式,则取消前面的#号注释,注意两个模式必须注释掉不能启用

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

LoadModule mpm_worker_module modules/mod_mpm_worker.so

LoadModule mpm_event_module modules/mod_mpm_event.so

重新启动apache,然后使用httpd -V 查看工作模式

上海腾科教育致力于为广大学员提供全面且专业的认证指导服务,涵盖多个领域,通过精准的备考策略和高质量的模拟测试,确保每位学员都能够高效备考,轻松应对各类专业认证考试。此外,腾科教育还精心准备了丰富多样的免费课程资料,包括视频教程、学习手册、在线题库等,助力学员在学习的道路上不断进步。


http://www.ppmy.cn/news/1550049.html

相关文章

【Electron学习笔记(一)】Electron基本介绍和环境搭建

Electron基本介绍和环境搭建 Electron基本介绍和环境搭建前言正文1、Electron介绍1.1 什么是Electron1.2 Electron技术架构1.3 Electron工作流程 2、Electron环境搭建2.1 创建项目目录2.2 检查 Node.js 和 npm 的版本信息2.3 初始化 npm 包2.4 将 electron 包安装到应用的开发依…

【大数据分析深度学习】在Hadoop上实现分布式深度学习

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈智能大数据分析 ⌋ ⌋ ⌋ 智能大数据分析是指利用先进的技术和算法对大规模数据进行深入分析和挖掘,以提取有价值的信息和洞察。它结合了大数据技术、人工智能(AI)、机器学习(ML&a…

深度学习实战人脸识别

文章目录 前言一、人脸识别一般过程二、人脸检测主流算法1. MTCNN2. RetinaFace3. CenterFace4. BlazeFace5. YOLO6. SSD7. CascadeCNN 三、人脸识别主流算法1.deepface2.FaceNet3.ArcFace4.VGGFace5.DeepID 四、人脸识别系统实现0.安装教程与资源说明1. 界面采用PyQt5框架2.人…

Android 14 screenrecord录制视频失败的原因分析

文章目录 1. 权限问题2. 存储空间不足3. 命令被中断4. 目标路径问题5. Android 14 的新限制6. 文件系统同步问题7. 录制失败检查步骤总结: 在 Android 14 系统上,使用 screenrecord 命令录制视频后,生成的文件大小为 0,可能的原因…

【Android】静态广播接收不到问题分析思路

参考资料: Android 静态广播注册流程(广播2)-CSDN博客 Android广播发送流程(广播3)_android 发送广播-CSDN博客 https://zhuanlan.zhihu.com/p/347227068 在Android中,静态广播如果静态广播不能接收,我们可以从整个流程中去分析&#xff…

通信综合—8.通信网络安全

一、信息系统安全概述 1.信息系统的构成和分类 信息系统是将用于收集、处理、存储和传播信息的部件组织在一起而成的相关联的整体,般是由计算机硬件、网络和通信设备、计算机软件、信息资源和信息用户组成。它是以处理信息流为目的的人机一体化系统。信息系统主要…

蓝桥杯不知道叫什么题目

小蓝有一个整数,初始值为1,他可以花费一些代价对这个整数进行变换。 小蓝可以花贵1的代价将教数增加1。 小蓝可以花费3的代价将整数增加一个值,这个值是整数的数位中最大的那个(1到9) .小蓝可以花费10的代价将整数变为原来的2倍, 例如,如果整…

Linux文件编程(持续更新)

Linux系统提供了一系列自动化完成文件编程的API,如: 打开 open 读写 write/read 光标定位 lseek 关闭 close ——————————————————————————————————————————— mode 0600(第一个0无意义&#…