httpd的配置详解(一)

本文档详细介绍了如何在 CentOS 6.5 上部署 Apache HTTP Server,包括安装过程、启动服务、配置文件详解及多处理模块的选择与配置。特别关注了 prefork 和 worker 模式的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

部署环境(关闭防火墙、selinux)

[root@miner_k ~]# cat /etc/redhat-release 
CentOS release 6.5 (Final)

安装服务并启动

[root@miner_k ~]# yum list | grep httpd
httpd.x86_64                               2.2.15-59.el6.centos          base #安装包 
httpd-manual.noarch                        2.2.15-59.el6.centos          base   #帮助手册

安装httpd
[root@miner_k ~]# yum -y install httpd

启动httpd服务
[root@miner_k ~]# service httpd start
Starting httpd: httpd: apr_sockaddr_info_get() failed for miner_k
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]

帮助文档的查看
通过Apache的官网查看
http://httpd.apache.org/
查找方法:http://blog.youkuaiyun.com/miner_k/article/details/70049276

在本地查看
[root@miner_k ~]# yum -y install httpd-manual
[root@miner_k ~]# service httpd restart

本地查看的URLhttp://IP地址/manual/


配置文件的修改:
[root@miner_k ~]# grep "Section" /etc/httpd/conf/httpd.conf 
### Section 1: Global Environment
### Section 2: 'Main' server configuration
### Section 3: Virtual Hosts

第一部分:全局环境配置

[root@miner_k ~]# vim /etc/httpd/conf/httpd.conf

ServerTokens OS              #Configures the Server HTTP response header
ServerRoot "/etc/httpd"      #软件的安装位置
PidFile run/httpd.pid        #pid文件的存放位置
Timeout 60                   #接受和发送的请求超时时间
KeepAlive Off                #长连接是否开启
MaxKeepAliveRequests 100     #最大请求次数
KeepAliveTimeout 15          #同一个用户同一个连接的请求超时时间

Apache的三种模式:
多处理模块(MPM: Multi-Processing Modules)

apache2主要的优势就是对多处理器的支持更好,在编译时同过使用–with-mpm选项来决定apache2的工作模式。如果知道当前的apache2使用什么工作机制,可以通过httpd -l命令列出apache的所有模块,就可以知道其工作方式:
prefork:如果httpd -l列出prefork.c,则需要对下面的段进行配置:

<IfModule prefork.c>     #如果加载prefork模块
StartServers 5           #启动apache时启动的httpd进程个数。 
MinSpareServers 5        #服务器保持的最小空闲进程数。 如果空闲进程少于5,要开启新的进程
MaxSpareServers 10       #服务器保持的最大空闲进程数。 如果空闲进程大于10,要 关闭多余的进程
ServerLimit      256     #maxclient的最大值,调整之后将服务关掉,然后将进程kill之后才能生效
MaxClients 150           #最大并发连接数。 
MaxRequestsPerChild 1000 #每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000。 
</IfModule>

在该工作模式下,服务器启动后起动5个httpd进程(加父进程共6个,通过ps -ax|grep httpd命令可以看到)。当有用户连接时,apache会使用一个空闲进程为该连接服务,同时父进程会fork一个子进程。直到内存中的空闲进程达到MaxSpareServers。该模式是为了兼容一些旧版本的程序。我缺省编译时的选项。
worker:如果httpd -l列出worker.c,则需要对下面的段进行配置:

<IfModule worker.c> 
StartServers 2 #启动apache时启动的httpd进程个数。 
MaxClients 150 #最大并发连接数。 
MinSpareThreads 25 #服务器保持的最小空闲线程数。 
MaxSpareThreads 75 #服务器保持的最大空闲线程数。 
ThreadsPerChild 25 #每个子进程的产生的线程数。 
MaxRequestsPerChild 0 #每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000。 
</IfModule>

该模式是由线程来监听客户的连接。当有新客户连接时,由其中的一个空闲线程接受连接。服务器在启动时启动两个进程,每个进程产生的线程数是固定的(ThreadsPerChild决定),因此启动时有50个线程。当50个线程不够用时,服务器自动fork一个进程,再产生25个线程。

三种模式的切换

配置文件的修改(使用哪种模式就将最前面的“#”去掉,将其他两个注释):

LoadModule mpm_event_module modules/mod_mpm_event.so
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so

监听端口配置文件包含内容
Listen 80               #监听的端口
Include conf.d/*.conf   #其他配置文件的目录
User apache             #所属的用户名
Group apache            #所属组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值