首页 > 代码库 > httpd配置文件中常用模块详解一
httpd配置文件中常用模块详解一
本文对http2.2常用的模块作了总结
注意:关闭selinux和iptables
永久关闭:
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
3 定义站点的主页面:
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配置文件中常用模块详解一