Apache服务深入解析

一、Apache服务的安装、服务管理及相关文件!
讲解Linux下Apache服务的安装、服务管理、配置文件及其他相关文件等信息。
CentOS 6.3 ( RHEL 6)YUM中集成的是apache 2.2.15(httpd 2.2.15)
使以下命令可以安装apache服务器:
yum install -y httpd
其他apache相关软件包:
• httpd-devel - 开发相关头文件
• httpd-tool - apache相关工具,如ab、htpasswd
• httpd-manual - apache官方文档
安装之后可以使以下命令启动、关闭apache服务器:
service httpd start
service httpd stop
service httpd restart
apache还提供了一些特殊的服务器指令:
service httpd graceful
service httpd graceful-stop

/etc/httpd
/etc/httpd/conf/httpd.conf - apache主配置文件
/etc/httpd/conf.d - apache模块配置文件
/etc/httpd/modules - apache模块文件路径链接
apache默认网站根目录:/var/www/html
apache相关户:cat /etc/passwd | grep apache
默认日志文件位置:/var/log/httpd

二、Apache服务基本概念(DSO、MPM等)
讲解Apache服务的一些基本概念,包括服务进程、监听端口、MPM及DSO等。
apache服务默认会启用一个主进程和多个子进程,子进程负责处理用户请求。主进程以root用户
身份运行,而子进程则以较低权限的apache用户身份运行。子进程数量由配置决定。
ps aux | grep https
apache是一个模块化服务器,核心只包含基本功能,扩展功能由不同功能模块实现。
使用以下命令可以查看编译的模块:
httpd -M
使用以下命令可以查看静态编译入apache程序的模块:
httpd -l
共享模块可以通过apxs命令进?行单独编译。
共享模块在配置文件中通过LoadModule加载:
LoadModule 模块名称 模块路径
apache在2.0版本以上引入了MPM功能,通过MPM(Multi Process Modules)来负责网络端口绑
定、接收处理请求等功能。
可以通过以下两种方式确定apache所使用的MPM:
httpd -l
httpd -V

Linux下默认使用的MPM是prefork,也可以选择使用worker。
prefork通常比worker性能高,但是会使用较多的资源。

三、Apache进程管理MPM详解(prefork及worker)
对Apache使用的MPM进程管理机制进行深入讲解,包括prefork和worker。
prefork是一个非线程、预派生型的MPM,适用于没有线程安全库、需要避免线程兼容性问题的系
统。
prefork通过多个子进程处理用户请求,每个子进程同一时刻只能处理一个请求。apache通过一个
父进程(控制进程)来负责产生子进程。
子进程的数量是根据请求数量动态调整的,但是为了避免在请求到达的时候再创建子进程,
apache会预先创建一些子进程,等待请求的到来。
• StartServers: 服务启动时创建的?子进程数量
• MinSpareServers: 空闲子进程的最小数量
• MaxSpareServers: 空闲子进程的最大数量
• ServerLimit: 允许 MaxClients 的最大值
• MaxClients: 允许同时处理的最大请求数量
• MaxRequestsPerChild: 每个子进程所能处理的最大请求数量
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>

四、Apache主配置文件概述 - 1(全局配置)
对Apache主配置文件的内容进行讲解,主要涉及第一部分全局配置部分。
apache主配置文件默认分为三个部分:
• Section 1: Global Environment - 全局配置
• Section 2: ‘Main‘ server configuration - 主服务配置
• Section 3: Virtual Hosts - 虚拟主机配置
第一部分主要配置内容:
ServerTokens OS
控制服务器响应给客户端的头部信息中Server信息的详细程度
Prod:Apache
Major: Server: Apache/2
OS: Server: Apache/2.0.41 (Unix)
Full: Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2
ServerRoot "/etc/httpd"
指定服务器所在??目录位置
PidFile run/httpd.pid
指定记录服务器控制进程(父进程)ID的文件位置
Timeout 60
指定连接的超时时间
KeepAlive Off
指定是否开启keepalive功能
MaxKeepAliveRequests 100
指定在开启keepalive之后一个连接最多进?行的请求次数
KeepAliveTimeout 15
指定在开启keepalive之后一个连接内两个请求之间的最长时间间隔
Listen 12.34.56.78:80
Listen 80
指定apache服务默认监听的端?口号和IP地址
LoadModule foo_module modules/mod_foo.so
指定apache加载那些模块
Include conf.d/*.conf
加载conf.d中的配置文件信息(模块配置文件)
User apache
Group apache
指定apache子进程所使用的用户

五、Apache主配置文件概述 - 2(主服务配置)
对Apache主配置?文件进行讲解,主要涉及第二部分 - 主服务配置。
ServerName www.LinuxCast.net:80
域名
UseCanonicalName Off
如何设为On,apache会使用ServerName设置的标准域名. 如何设置为off, Apache会使?用客户端传
递的HOST参数所指定的主机名. 如果使用基于域名的虚拟主机,那么这?里要设置为off。
DocumentRoot "/var/www/html"
网站根目录
<Directory "/var/www/html">
</Directory>
基于目录的访问控制! !
<IfModule mod_userdir.c>!
</IfModule>!
条件模块配置
DirectoryIndex index.html index.html.var
指定网站缺省首页配置
AccessFileName .htaccess
读取分布式配置?文件
<Files ~ "^\.ht">
</Files>
基于文件名的访问控制
TypesConfig /etc/mime.types
指定mime类型文件
DefaultType text/plain
默认相应内容类型
HostnameLookups Off
指定是否开启域名解析(如果开启,在日志记录中将会尝试将IP地址解析为域名)
ErrorLog logs/error_log!
保存错误?日志的保存位置,错误?日志记录apache服务运?行相关信息!
LogLevel warn
指定?日志记录级别(详细程度)
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
设置日志记录格式,combined指明多了两个%{header}i信息。
CustomLog logs/access_log combined
设置访问日志的位置和相关参数

时间: 2024-08-27 00:43:38

Apache服务深入解析的相关文章

【Apache服务补录 &nbsp; Squit正向解析】

[查询 APache 日志文件级别 ] ****Apache 服务补录***** 1.[关于 指定域在于https://下访问正确页面] [前置:https://-,访问不到指定页面是因为,指定域在ssl中写的,必须在ssl中添加的那些配置文件中开启443端口,才可以在浏览器中访问到] vim /etc/httpd/conf.d/music.conf [添加如下] ~~                  [前面做的Virtualhsot,Directory不要改] <Virtualhost *:

apache服务的配置

apache(web服务器) Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. 一.实验环境: RHEL7.0  172.25.254.10 server1.example.com  firewalld disabled 二.实验内容: 1.apache的安装: yum install -t httpd httpd-manual systemctl start httpd  启动apa

Linux之apache服务搭建

WEB服务器的架设,在linux有一个很著名的架构叫lamp:linux+apache+mysql+php,就知道apache的分量了. 在搭建apache服务钱需要做DNS服务器 DNS的搭建http://wt7315.blog.51cto.com/10319657/1852795 http的详解http://wt7315.blog.51cto.com/10319657/1837595 apache 后台进程:httpd 脚本:/etc/rc.d/init.d/httpd 使用端口:80(ht

整合apache与tomcat解析jsp页面

案例需求 1. 为Apache HTTP Server服务器添加JSP网页支持. 2. 能够访问Tomcat容器的Web管理界面,以便管理各种JSP.Servelet应用. 知识提示 在各种企业级网站应用系统中,JSP也是使用较多的一种网站开发语言,对于这样的网站服务器,必须能够支持Java环境.JSP解析,比如安装Tomcat.Jboss等JSP容器.另外一方面,Apache HTTP Server对静态HTML页面的处理能力要更加优秀一些,因此若能将Apache与Tomcat等JSP容器整合

Apache服务搭建

Apache服务器 1: www: world  wide  web      万维网 http 协议:    超文本传输协议 HTML语言: 超文本标识语言 index.html 2: URL:统一资源定位: 协议+域名:端口+网页文件名 http://www.baidu.com:80/phpmyadmin/index.php 3:搭建www的服务器的方法 windows: IIS  +  asp  +  SQLserver IIS: Internet  Information  server

Linux 第十一周上课笔记(2)Apache服务

Apache服务 1.yum install httpd -y 2.yum install httpd-manual -y#安装手册 3.systemctl start httpd 一.修改默认的发布目录 一般来说http服务的默认发布目录在/var/www/html页面中.首先读取首页index.html 如何修改: 1. vim /etc/httpd/conf/httpd.conf 119 # DocumentRoot "/var/www/html"#将原来的默认发布目录注释.方便

Linux的Apache 服务

 一.apache的安装yum install httpd -y                   安装服务systemctl start httpd                 启动服务systemctl stop firewalld           关闭防火墙systemctl enable httpd            开机自动启动systemctl disable firewalld     开机不启动防火墙 二.apache相关配置信息 1.apache的默认发布目录文件

Apache服务环境在Linux中搭建详解

Apache服务环境搭建详解: 本篇文章我介绍的是phpstudy集成工具,它将php.mysql及apache集成在一起,可以很方便的在不同服务环境间进行切换,比如:apache+php5.4切换为nginx+php5.4,另外,这个集成工具(windows版)提供了可视化的图形界面,以及提供了配置文件的快捷查找和网站域名的设置等,具体可到http://www.phpstudy.net网址查看详情.在这里,我介绍的是在Linux环境中怎么安装和配置apache+php+mysql(phpstu

Android开发--Apache服务器安装,解决Apache服务无法启动的问题

昨天学习Android XML解析的时候,想在自己的电脑上搭建一个最简单的Web服务器来存放一段XML文本,然后在Android程序中解析,查找了一些资料后,看到Apache服务器比较容易上手,使用范围也比较广泛,于是就决定使用它了. 1.下载Apache服务器安装包,地址:http://httpd.apache.org/download.cgi 我选择了2.4.12这个版本,在Apache官网找了半天以为会有.msi的安装包,但是却一直没找到,好吧没有就没有了(想偷懒却没有提供一键安装包,唉)