httpd2.4.9主配置文件参数详解
配置文件解析
本人安装的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主配置文件参数详解相关推荐
- 第七章httpd.conf主配置文件的详解
版本V1.0 时间2012-10-04 版权GPL 作者itnihao 邮箱 itnihao@qq.com 博客 http://itnihao.blog.51cto.com 如需重新发行,请注明以上信 ...
- Linux网卡配置文件-参数详解
Linux网卡配置文件-参数详解 DEVICE=eth0 #指出网卡名称比如这个是eth0 NM_CONTROLLED=yes #network mamager的参数,实时生效,不需要重启,表示是否受 ...
- Linux ❀ Rsyslog(Syslog)服务与配置文件参数详解
文章目录 1.日志服务简介 2.linux系统中的常见日志 3.日志服务Rsyslog (1)服务对应rpm包 (2)服务配置文件 (3)配置文件格式 服务名称 连接符号 日志等级 日志记录位置 (4 ...
- MySQL配置文件参数详解
[client] port = 3307 socket = /usr/local/mysql5_6/mysql.sock default-character-set=utf8 [mysql] prom ...
- CI流水线配置文件参数详解(二)
文章目录 4. 参数详解(二) 4.9 git tag打标签的使用 4.10 ``allow_failure`` 4.11 ``when`` 关键字用于实现在作业失败时或发生故障时运行的作业 (whe ...
- CI流水线配置文件参数详解(一)
文章目录 4. 参数详解(一) 4.1 ``script`` 4.2 ``image`` 指定使用Docker镜像.如 ``iamge:name`` ,暂时忽略. 4.3 ``before_scrip ...
- compose配置文件参数详解
本文介绍compose配置文件参数的使用,熟练编写compose文件 [root@docker lnmp]# cat lnmp.yaml version: '3' services:nginx:bui ...
- mysql配置文件参数详解 my.cnf
My.cnf My.cnf配置选项详解: mysqld程序--目录和文件 basedir = path使用给定目录作为根目录(安装目录). character-sets-dir = path给出存放 ...
- Nginx配置文件参数详解以及配置文件模板
全局配置 详解 user nginx nginx; #定义Nginx运行的用户和用户组 worker_processes 1; #nginx进程数,通常设置等于CPU总核数或者2倍与CPU worke ...
最新文章
- 自然语言处理中的N-Gram模型
- java进度条字体颜色_java – Nimbus LF – 改变进度条的背景颜色
- 正则表达式的学习二:正则表达式的匹配规则总结
- mysql热备份还原_利用xtrabackup完成mysql的热备份与还原
- 中国最险六大寺庙,最后一座至今无人登临
- mysql数据库面试总结
- mybatis生成工具
- 疫期公共出行更安心 微信支付上线“新冠肺炎保障”
- linux篡改url命令,在Linux中更改Git远程URL(Git Remote URL)的方法
- Xception: Deep Learning with Depthwise Separable Convolutions
- IBM分布式深度学习技术将语音识别训练时间从一周缩短到11小时
- Promise 的四种常用方法。
- sql 获取日期时分秒_SQL获取系统年月日时分秒 | 学步园
- JDE 系统表(标准表)
- 小白教程系列——MultiDesk连接服务器
- 多个excel文件合并到一个文件中的多个sheet表中
- jar文件打不开,用什么打开
- 数字电路中几种基本门电路
- 从零开始学Java编程!java数据结构面试题
- 花花的森林(倍增,LCA
热门文章
- spring c3p0 mysql_spring boot整合mybatis使用c3p0数据源连接mysql
- 状态码为200 java 类
- 台达plc读取变频器电流案例_PLC模拟量信号如何转换,编程必懂!
- c++ 队列_经典数据结构与算法(一):Python/C/C ++实现堆栈和队列
- .netcore 2.0 mysql_搭建连接MySql的三层架构的ASP.NetCore2.0的WebApi
- axios传递数据到java_axios 传输与springboot后台接收数据
- 2Y叔的clusterProfiler-book阅读Chapter 2 Functional Enrichment Analysis Methods
- php计算日期函数,php日期处理函数(计算时间差,转换时间戳日期)
- datetime数据类型_当pandas遇上数据类型问题
- chmod 777命令_Linux shell命令总结