httpd的配置详解(一)

来源:互联网 发布:vss软件保护 编辑:程序博客网 时间:2024/06/06 06:50

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

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

安装服务并启动

[root@miner_k ~]# yum list | grep httpdhttpd.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 startStarting httpd: httpd: apr_sockaddr_info_get() failed for miner_khttpd: 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.csdn.net/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 headerServerRoot "/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            #所属组
0 0
原创粉丝点击