Apache常用配置详解
Apache配置文件:conf/httpd.conf。(注意:表示路径时使用‘/’而不使用‘\’,注释使用‘#’)
1. ServerRoot:服务器根目录,也就是Apache的安装目录,其他的目录配置若是使用相对路径,都是相对于服务器根目录的。
配置示例:
ServerRoot “D:/wamp/bin/Apache2.4.23”
2. Listen:服务器监听的端口,可以只配置端口,也可以同时指定IP地址和端口,还可以指定使用的协议。(可配置多个端口)
完整配置示例:
Listen 127.0.0.1:80 http
3. DocumentRoot:网站的根目录,也就是放置网站文件的地方。
配置示例:
DocumentRoot = “D:/wamp/www”
4. LoadModule:加载特定的DSO模块,这些已编译的DSO模块存放于Apache安装目录下的modules目录中。
配置示例:
LoadModule actions_module modules/mod_actions.so
5. User:设置实际提供服务的子进程的用户。
配置示例:
User daemon
6. Group:设置提供服务的Apache子进程运行时的用户组。
配置示例:
Group daemon
7. ServerAdmin:设置在所有返回给客户端的错误信息中包含的管理员的邮件地址。(也可以使用URL)
配置示例:
ServerAdmin 23423423@qq.com
8. ServerName:设置服务器用于识别自己的主机名和端口号。如果没有指定端口号,服务器会使用接受请求的那个端口。
配置示例:
ServerName localhost:80
9. <Directory>:和</Directory>一起用于封装一组指令,使之仅对某个目录及其子目录生效。该指令不能被嵌套使用,也不能出现
在<Limit>或<LimitExcept>配置段中。
配置示例:
<Directory “D:/wamp/www”>
Options Indexes FollowSymLinks MultiViews Includes IncludesNOEXEC ExecCGI
AllowOverride None
Order allow, deny
allow from all
</Directory>
指令及其参数说明:
(1)Options:控制在特定目录中将使用哪些服务器特性。
Indexs:若访问目录下无index文件,则准许显示该目录下的文件列表以供选择。
FollowSymLinks:准许在目录中使用符号链接到其他目录。
MultiViews:准许内容协商的“多重视图”。如果客户端请求的路径可能对应多种类型的文件,服务器将根据客户端请求的具体情
况自动选择一个最匹配客户端要求的文件。例如只在地址栏输入index也可以访问到index.php页面。
Includes:准许SSI。
IncludesNOEXEC:准许SSI,但不可使用exec和include功能。
ExecCGI:准许在该目录下使用CGI。
All:表示除了MultiViews之外的所有特性。
None:表示不启用任何的服务器特性。
注意:如果一个目录被多次设置了options,则最特殊的一个会被完全接受。
(2)AllowOverrid:是否准许文件“.htaccess”中设定的权限覆盖“access.conf”文件中设定的权限。
All:准许覆盖。
None:不准许覆盖。
AuthConfig:允许使用与认证授权相关的指令。
FileInfo:允许使用控制文档类型的指令、控制文档元数据的指令、mod_rewrite中的指令、mod_actions中的Action指令。
Indexs:允许使用控制目录索引的指令。
Limit:允许使用控制主机访问的指令。
(3)Order:控制默认的访问状态和allow、deny指令生效的顺序。
allow:允许访问。
deny:拒绝访问。
这两个参数由最后一个出现的参数决定,如“Order allow,deny”默认拒绝了所有的意思(中间有且只有一个逗号),但最终的判断
结果还要总下面的allow、deny语句中各自所包含的范围(如果有的话),这两个语句后面都一定接着“from”,否则Apache
会无法启动。“Order allow,deny”表示先判断allow语句再判断deny语句。
注意:上面的Order和allow、deny语句是针对Apache2.2的配置,Apache2.4的客户端访问控制由Require语句来配置。
区别示例:
拒绝所有请求:
2.2配置:
Order deny,allow
deny from all
2.4配置:
Require all denied
允许所有请求:
2.2配置:
Order allow,deny
allow from all
2.4配置:
Require all granted
只允许某个特定IP的访问:
2.2配置:
Order deny,allow
deny from all
allow IP-address
2.4配置
Require host IP-addres
10. <Files>:提供基于文件名的访问控制。<Files>段将根据他们在配置文件中出现的顺序被处理:在<Directory>段和.htaccess文件被处理之后,但在<Location>段之前。<Files>能嵌
入到<Directory>段中以限制它们作用的文件范围。也可用于.htaccess文件当中,以允许用户在文件层面上控制对文件的访问。
配置示例:
<Files ".ht*">
Require all denied
</Files>
11. <IfModule>:封装根据指定的模块是否启用而决定是否生效的指令。
配置示例:
<IfModule http2_module>
ProtocolsHonorOrder On
Protocols h2 h2c http/1.1
</IfModule>
12. DirectoryIndex:当客户端请求一个目录时寻找的资源列表。
配置示例:
DirectoryIndex index.php index.htm index.html
(服务器将返回最先找到的那一个)
13. ErrorLog:指定当服务器遇到错误时记录错误日志的文件。
(若不是一个以“/”开头的绝对路径,则是一个相对于ServerRoot的相对路径)
配置示例:
ErrorLog "logs/error.log"
14. LogLevel:用于调整记录在错误日志中的信息的详细程度。
错误信息详细程度按重要性降序排列如下:
emerg:紧急(系统无法使用)
alert:必须立即采取措施。
crit:致命情况。
error:错误情况。
warn:警告情况。
notice:一般重要情况。
info:普通信息。
debug:调试信息。
(当指定了某个级别时,所有级别高于它的信息也会被同时记录)
配置示例:
LogLevel warn
15. LogFormat:定义访问日志的记录格式。
配置示例:
LogFormat "%h %l %u %t \"%r\" %>s %b" common
(其中common就是这种格式的标识符)
16. CustomLog:设定日志的文件名和格式。
配置示例:
CustomLog "logs/access.log" common
(使用标识符common定义的格式来记录logs/access.log这个日志文件)
17. TransferLog:指定日志文件的位置。
本指令除不允许直接定义日志格式或根据条件进行日志记录外,与CustomLog指令有完全相同的参数和功能。
18. Alias:映射URL到文件系统的特定区域。Alias指令使客户端可以访问到DocumentRoot以外的本地文件。
配置示例:
Alias /myphoto "E:/照片"
<Directory "E:/照片">
Options Indexes
Require all granted
</Directory>
目录/myphoto是相对于DocumentRoot的相对路径,甚至可以是一个不存在的目录,这时访问该目录就会映射到“E:/照片”目录中。
注意:一定要通过<Directory>段明确地对目标目录设定访问权限,否则会提示“forbidden”。
Redirect:将一个路径重定向到另一个路径下。
配置示例:
Redirect /haha /chsfc
(Redirect和Alias不同,配置中的两个路径都是在DocumentRoot目录下的)
注意:要使用Alias和Redirect都应该先开启alias_module模块功能。
19. ScriptAlias:映射一个URL到文件系统并视之为CGI脚本目录。
配置示例:
ScriptAlias /cgi-bin/ "D:/wamp/bin/Apache2.4.23/cgi-bin"
20. DefaultType:当服务器无法确定一个文档的内容类型时发送的默认MIME内容类型。
配置示例:
DefaultType text/plain (纯文本,浏览器在内部打开)
DefaultType application/octet-stream (浏览器提示用户进行保存)
21. AddType:为特定后缀的文件指定MIME类型,这里的设置将覆盖mime.types中的设置。
配置示例:
AddType application/x-httpd-php .php .html .htm (前导点可带可不带)
22. ErrorDocument:批示当遇到错误的时候服务器将给客户端什么样的应答。
语法:
ErrorDocument error-code document
其中error-code时服务器返回的错误代码,document是回应的数据,可以是简单的文本,
本地网页,本地CGI程序,或远程主机上的网页。
配置示例:
ErrorDocument 500 "The server made a boo boo."
ErrorDocument 402 http://www.example.com/subscription_info.html
23. EnableMMAP:指示httpd在递送中如果需要读取一个文件的内容,是否可以使用内存映射。
配置示例:
EnableMMAP On
EnableMMAP Off
(这种内存映射有时会带来性能的提高,有时却会出现问题)
24. EnableSendfile:控制httpd是否可以使用操作系统内核的sendfile支持来将文件发送到户端。
配置示例:
EnableSendfile Off
(这个sendfile机制避免了分开的读和写操作以及缓冲区分配,但是在一些平台或文件系统上会引发一些问题)
25. include:在服务器配置文件中包含其他配置文件。
配置示例:
include conf/extra/httpd-autoindex.conf
在Apache安装目录下的conf/extra/目录中有一些补充配置文件,可以根据需要,通过配置将它们包含到主配置文件conf/httpd.conf文件中。
Apache常用配置详解的更多相关文章
- Tomcat记录-tomcat常用配置详解和优化方法(转载)
常用配置详解 1 目录结构 /bin:脚本文件目录. /common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载). /conf:存放配置文件,最重要的是serv ...
- tomcat常用配置详解和优化方法
tomcat常用配置详解和优化方法 参考: http://blog.csdn.net/zj52hm/article/details/51980194 http://blog.csdn.net/wuli ...
- logback 常用配置详解<appender>
logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...
- 【转】logback logback.xml常用配置详解(三) <filter>
原创文章,转载请指明出处:http://aub.iteye.com/blog/1110008, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...
- 【转】logback logback.xml常用配置详解(二)<appender>
原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...
- 【转】logback logback.xml常用配置详解(一)<configuration> and <logger>
原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...
- 【转】logback 常用配置详解(序)logback 简介
原创文章,转载请指明出处:http://aub.iteye.com/blog/1101222, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...
- logback 常用配置详解(二) <appender>
logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写 ...
- logback logback.xml常用配置详解(三)
logback logback.xml常用配置详解 <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之 ...
随机推荐
- Python实用笔记 (19)面向对象编程——访问限制
在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑. 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的na ...
- 前端进阶笔记之核心基础知识---那些HTML标签你熟悉吗?
目录 1.交互实现 1.1 meta标签:自动刷新/跳转 1.2 title标签:消息提醒 2.性能优化 2.1 script标签:调整加载顺序提升渲染速度 2.2 link标签:通过预处理提升渲染速 ...
- pycharm中导入包失败的解决办法
将鼠标移动到requests处,出现如下提示 按住alt+enter键,点击install package requests即可安装requests包 安装成功后
- Windows系统VSCode、VBox搭建C/C++开发环境
好几年没有写过C/C++代码,基本上都忘光了,之前是使用VC++6.0写代码的,最近用VSCode成功搭建了C/C++开发环境,这里记录一下搭建过程. 1. 安装VSCode 在官网https://c ...
- css如何将图片横向平铺?
在CSS中,可以使用background(背景)属性来添加图片,默认图片是向x轴和y轴重复.那么css如何将图片横向平铺?下面本篇文章就来给大家介绍一下使用CSS将图片横向平铺的方法,希望对大家有所帮 ...
- Promise内部实现原理
promise内部实现原理: function $Promise(fn) { // Promise 的三种状态 this.PENDING = 'pending' this.RESOLVED = 're ...
- P3574 FAR-FarmCraft 题解
题目 In a village called Byteville, there are \(n\) houses connected with \(n-1\) roads. For each pair ...
- postman-4-响应内容
通过响应报文来检测接口的正确性:响应由正文,响应头和状态码组成 Pretty模式可以格式化JSON或XML响应报文,以便更容易查看.突出显示Pretry模式中的链接,点击它们, 可以通过链接URL在P ...
- Let's GO(二)
人生苦短,Let's GO Let's GO(一) Let's GO(二) Let's GO(三) Let's GO(四) 今天我学了什么? 1. Map map:映射,使用散列表(hash)实现 m ...
- session + cookie 实现登录功能
前端部分代码实现 <div id="mainCp"> <div class="postForm"> <p> <labe ...