配置文件解析

本人安装的httpd2.4配置文件位于/etc/httpd24目录下,在该目录下最主要的配置文件是httpd.conf文件,还有一些位于extra目录下的附加配置文件。此外original目录中存有所有这些配置文件的副本。

下面是对主配置文件重点指定的具体描述。
SeverRoot指令

ServerRoot指令设置Apache软件的安装主目录

ServerRoot "/usr/local/apache1"

Listen指令

Listen指令设置服务器监听的IP以及端口号,默认监听服务器本机所有的IP地址的80端口。

语法格式为  Listen  IP: 端口

其中IP地址为可选项,默认监听所有IP,使用TCP协议。一个配置文件中可以多次使用Listen指令来开启多个端口。

Listen 80
Listen 172.16.251.248:8080

LoadModule指令

Apache HTTP Server的特色之一就是她的功能多数是以模块方式加载的,但如果希望Apache动态加载模块,需要在编译Apache时通过--enable-so将mod_so以静态方式编译到Apache核心模块中,LoadModule指令的作用就是加载模块。

语法格式为:LoadModule 模块 模块文件名称,模块文件一般位于ServerRoot指定目录下modules目录中。

LoadModule filter_module modules/mod_filter.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule sed_module modules/mod_sed.so
LoadModule deflate_module modules/mod_deflate.so

ServerAdmin指令

当网站出现故障时,需要为客户提供一个可以帮助解决问题的邮件地址,ServerAdmin指令的作用就是提供这样的邮件地址。

ServerAdmin cw@linux.com

ServerName指令

ServerName指令设置服务器本机的主机名称以及端口,对于URL地址的重定向很重要。

ServerName localhost:80

DocumentRoot指令

该指令设置Web服务对客户端开放可见的文档根目录,也就是客户端访问网站的根路径

DocumentRoot "/usr/local/apache1/htdocs"

ErrorLog指令

ErrorLog定位服务器错误日志的位置,默认使用相对路径,为ServerRoot指定目录下的”logs/error_log”文件。

ErrorLog "logs/error_log"

LogFormat指令

设置错误日志的格式,Apache HTTP Server事先定义了很多格式字串 可以直接引用。

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

CustomLog指令

该指令设置客户端的访问日志文件名以及日志格式,默认为”logs/access_log”,语法格式为CustomLog 文件名 格式。

CustomLog "logs/access_log" combined

Include指令

Include指令允许Apache在主配置文件中加载其他的配置文件,该指令语法比较简单,Inclde指令后直接跟上其他附加配置文件路径即可。

Include /etc/httpd24/extra/httpd-info.conf

Options指令

为特定目录设置选项,语法格式为Options [+|-]选项 [[+|-]选项]。选项可以设置为None,代表不启用任何额外功能,也可以使用如下常用选项。

All:开启除MultiViews之外的所有选项。

ExecCGI:允许执行CGI脚本。

FollowSymlinks:允许目录下通过链接文件链接到目录外的文件或目录。

Indexes:如果与URL对应的目录下,没有DirectoryIndex指定的首页文档,则Apache将会把当前目录的所有文件索引出来。

Order指令

控制默认访问状态以及Allow与Deny次序,

如果使用Order deny,allow,则先检查拒绝,没有拒绝则默认允许。

如何使用Order allow,deny,则先检查允许,没有允许则默认拒绝。
以下为具体案例:
Order deny,allow
Deny from all
先检查拒绝规则,再检查允许规则,默认为允许。这里Deny From all代表拒绝所有,所以最终结果为拒绝所有。

Order Allow,Deny
allow from All
先检查允许规则,再检查拒绝规则,allow from all代表允许所有,所以最终结果为允许所有。

Order Allow,Deny
allow from 192.168.0.1
先检查允许规则时允许192.168.0.1,其余为默认值,默认为拒绝所有,最终除192.168.0.1外拒绝所有。

Order Allow,Deny
allow from 192.168.0.1
Deny from All
先检查允许规则时允许192.168.0.1访问,但检查拒绝规则时为拒绝所有,而192.168.0.1也包含在all之中,当Allow与Deny有冲突时,以Order最后的规则覆盖其他的规则,本案例将使用Deny规则覆盖Allow规则,最终效果为拒绝所有人访问。

Order Deny,Allow
Deny from all
allow from 192.168.0.1
先检查拒绝规则,再检查允许规则,拒绝规则为拒绝所有,允许规则为允许192.168.0.1,拒绝与允许规则有冲突的部分本案例将采用Allow的规则,最终本案例可以实现仅允许192.168.0.1访问,其他任何主机均无法访问Apache服务。


IfModule容器

使用IfModule容器可以封装仅在条件满足时才会处理的指令,根据指定的模块是否加载决定条件是否满足,语法格式<IfModule [!] 模块>指令</IfModule>。

具体案例如下:
<IfModule unixd_module>
User daemon
Group daemon
</IfModule>
以上配置说明,仅在Apache加载了unixd_module模块后User daemon与Group daemon才会被Apache处理。

Directory容器

该容器内的指令仅应用于特定的文件系统目录、子目录以及目录下的内容,语法格式为<Directory directory-path>指令</Directory>。路径可以使用~匹配正则表达式。

具体案例如下:
<Directory “/usr/local/apche2/htdocs”>
Options Indexs FollowSymLinks
</Directory>

<Directory ~ “^/www/[0-9]{3}”>
AllowOverride None
</Directory>
以上案例中Opions Index FollowSymLins仅对/usr/local/apache2/htdocs目录有效,

AllowOverride None仅对所有/www目录下包含三个数字的子目录有效。

<DirectoryMatch>
DirectoryMatch类似于Directory,但可以直接使用正则表达式匹配,而无需像Directory一样使用~符号才可以匹配。

转载于:https://blog.51cto.com/584014981/1380600

httpd2.4.9主配置文件参数详解相关推荐

  1. 第七章httpd.conf主配置文件的详解

    版本V1.0 时间2012-10-04 版权GPL 作者itnihao 邮箱 itnihao@qq.com 博客 http://itnihao.blog.51cto.com 如需重新发行,请注明以上信 ...

  2. Linux网卡配置文件-参数详解

    Linux网卡配置文件-参数详解 DEVICE=eth0 #指出网卡名称比如这个是eth0 NM_CONTROLLED=yes #network mamager的参数,实时生效,不需要重启,表示是否受 ...

  3. Linux ❀ Rsyslog(Syslog)服务与配置文件参数详解

    文章目录 1.日志服务简介 2.linux系统中的常见日志 3.日志服务Rsyslog (1)服务对应rpm包 (2)服务配置文件 (3)配置文件格式 服务名称 连接符号 日志等级 日志记录位置 (4 ...

  4. MySQL配置文件参数详解

    [client] port = 3307 socket = /usr/local/mysql5_6/mysql.sock default-character-set=utf8 [mysql] prom ...

  5. CI流水线配置文件参数详解(二)

    文章目录 4. 参数详解(二) 4.9 git tag打标签的使用 4.10 ``allow_failure`` 4.11 ``when`` 关键字用于实现在作业失败时或发生故障时运行的作业 (whe ...

  6. CI流水线配置文件参数详解(一)

    文章目录 4. 参数详解(一) 4.1 ``script`` 4.2 ``image`` 指定使用Docker镜像.如 ``iamge:name`` ,暂时忽略. 4.3 ``before_scrip ...

  7. compose配置文件参数详解

    本文介绍compose配置文件参数的使用,熟练编写compose文件 [root@docker lnmp]# cat lnmp.yaml version: '3' services:nginx:bui ...

  8. mysql配置文件参数详解 my.cnf

    My.cnf My.cnf配置选项详解:  mysqld程序--目录和文件 basedir = path使用给定目录作为根目录(安装目录). character-sets-dir = path给出存放 ...

  9. Nginx配置文件参数详解以及配置文件模板

    全局配置 详解 user nginx nginx; #定义Nginx运行的用户和用户组 worker_processes 1; #nginx进程数,通常设置等于CPU总核数或者2倍与CPU worke ...

最新文章

  1. 自然语言处理中的N-Gram模型
  2. java进度条字体颜色_java – Nimbus LF – 改变进度条的背景颜色
  3. 正则表达式的学习二:正则表达式的匹配规则总结
  4. mysql热备份还原_利用xtrabackup完成mysql的热备份与还原
  5. 中国最险六大寺庙,最后一座至今无人登临
  6. mysql数据库面试总结
  7. mybatis生成工具
  8. 疫期公共出行更安心 微信支付上线“新冠肺炎保障”
  9. linux篡改url命令,在Linux中更改Git远程URL(Git Remote URL)的方法
  10. Xception: Deep Learning with Depthwise Separable Convolutions
  11. IBM分布式深度学习技术将语音识别训练时间从一周缩短到11小时
  12. Promise 的四种常用方法。
  13. sql 获取日期时分秒_SQL获取系统年月日时分秒 | 学步园
  14. JDE 系统表(标准表)
  15. 小白教程系列——MultiDesk连接服务器
  16. 多个excel文件合并到一个文件中的多个sheet表中
  17. jar文件打不开,用什么打开
  18. 数字电路中几种基本门电路
  19. 从零开始学Java编程!java数据结构面试题
  20. 花花的森林(倍增,LCA

热门文章

  1. spring c3p0 mysql_spring boot整合mybatis使用c3p0数据源连接mysql
  2. 状态码为200 java 类
  3. 台达plc读取变频器电流案例_PLC模拟量信号如何转换,编程必懂!
  4. c++ 队列_经典数据结构与算法(一):Python/C/C ++实现堆栈和队列
  5. .netcore 2.0 mysql_搭建连接MySql的三层架构的ASP.NetCore2.0的WebApi
  6. axios传递数据到java_axios 传输与springboot后台接收数据
  7. 2Y叔的clusterProfiler-book阅读Chapter 2 Functional Enrichment Analysis Methods
  8. php计算日期函数,php日期处理函数(计算时间差,转换时间戳日期)
  9. datetime数据类型_当pandas遇上数据类型问题
  10. chmod 777命令_Linux shell命令总结