首页 > 代码库 > httpd配置文件中常用模块详解一

httpd配置文件中常用模块详解一

本文对http2.2常用的模块作了总结

注意:关闭selinuxiptables

永久关闭:

Vim /etc/sysconfig/selinux 设置为disabled

Yum install httpd-manual 安装httpd手册 ip/manual即可访问

全局配置:

主服务器段配置(或者虚拟主机配置,二者生效一个);

 

全局配置:

Listen 80  //可以监听多个端口

KeepAlive //是否保持连接

#MPM工作模式配置:默认是prefork

<IfModule prefork.c>

StartServers       8    //服务器初始化时启动的进程数目

MinSpareServers    5   //最少空闲进程数目

MaxSpareServers   20  //最大空闲进程数目

ServerLimit      256   //允许Maxclients启动的最大进程在线数目

MaxClients       256  //最大允许启动进程数目来响应客户端。最大并发响应数量

MaxRequestsPerChild  4000

</IfModule>

 

Woker工作模式:

<IfModule worker.c>

StartServers         4

MaxClients         300

MinSpareThreads     25

MaxSpareThreads     75

ThreadsPerChild     25

MaxRequestsPerChild  0  //0表示无限制

</IfModule>

 

/usr/sbin/httpd -l 即可查看编译的模块

//修改工作模式必须通过修改另一个配置文件:

//vim /etc/sysconfig/httpd

//去掉 HTTPD=/usr/sbin/httpd.worker  一般先停止服务,再修改此文件,确保稳定

 

主服务器段配置:

1 ServerRoot  /etc/httpd  //中心主机位置

2 DocumentRoot /var/www/html   //web资源存放位置,后面需加上目录访问控制,如下:

<Directory /var/www/html>

Options Indexes...             //控制该目录下资源访问方式

AllowOverride None..     //与访问控制相关的指令都可以放在.htaccess文件中,是否往其中加指令。为all的时候影响性能

Allow from all             //访问控制,Deny是禁止访问

</Directory>

 

 

访问控制机制:

<Directory /path></Directory>

<File “”></File>    //对某个文件实行访问控制

<FileMatch pattern></FileMatch>    //对符合正则表达式的文件实行访问控制,由于会用到正则表达式引擎,所以降低效率,很少使用

 

<Location URL目录></Location>   //Directory类似,但是路径不是文件资源路径,而是URL路径

 

<LocationMatch “”></Location>

 

认证模块:放在<Directory “”></Directory>

具体实例:

[root@centos6_2 ~]# vim /etc/sysconfig/selinux 

[root@centos6_2 ~]# mkdir /webtest/admin/

[root@centos6_2 ~]# vim /webtest/admin/index.html

<h1>admin file</h1>

[root@centos6_2 ~]# curl 202.193.52.228/admin

可以正常访问

 

修改配置文件,定义目录的权限

<Directory "/webtest/admin">

Options None

AllowOverride None

AuthType Basic

AuthName "admin auth test"

AuthUserFile "/etc/httpd/conf/.htpasswd"

Require user centos

</Directory>

 

Htpasswd -c -m|-s ./.htpasswd username

-c:创建文件

-m:指定md5加密方式

-s:指定sha加密方式

 

基于组控制:

    (1) 修改Directory中内容

增加:AuthgroupFile /etc/httpd/conf/.htgroup

(2) htpasswd命令创建用户密码

Htpasswd -c -m ./htpasswd root   //如果文件存在,则不需要写-c选项,否则会覆盖

(3) 编写.htgroup文件,格式为 grouname:user1 user2

 


定义站点的主页面:

DirectoryIndex index.html index.html.var

 

4定义路径别名

Alias /URL/ 实际的资源位置

 

5日志模块

ErrorLog logs/error_log               //错误日志

CustomLog logs/access_log combined   //访问日志格式

 

6 status:输出当前服务器启动进程以及进程状态

<Location /server-status>

    SetHandler server-status

    Order deny,allow

    allow from all          //实际环境只允许开放本地主机

#    Allow from .example.com

</Location>

 在浏览器中输入 http://ip/server-status

 

 

 

 

 


本文出自 “11881794” 博客,请务必保留此出处http://11891794.blog.51cto.com/11881794/1884143

httpd配置文件中常用模块详解一