Apache阶段一-Apache配置文件详解

cat /etc/httpd/conf/httpd.conf | grep -v "[#|^$]"|grep -v "^$"

ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
<Directory />
    AllowOverride none
    Require all denied
</Directory>
DocumentRoot "/var/www/html"
<Directory "/var/www">
    AllowOverride None
    Require all granted
</Directory>
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
<Files ".ht*">
    Require all denied
</Files>
ErrorLog "logs/error_log"
LogLevel warn
<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access_log" combined
</IfModule>
<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>
<IfModule mime_module>
    TypesConfig /etc/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>
AddDefaultCharset UTF-8
<IfModule mime_magic_module>
    MIMEMagicFile conf/magic
</IfModule>
EnableSendfile on
IncludeOptional conf.d/*.conf

这是主apachehttp服务器配置文件。它包含

向服务器提供其指令的配置指令。

请参见URL:http://httpd.apache.org/docs/2.4/有关详细信息。

具体见

#<网址:http://httpd.apache.org/docs/2.4/mod/directives.html>

有关每个配置指令的讨论。

不要不理解地简单地阅读这里的说明

#他们做什么。它们只是作为提示或提醒。如果你不确定

查阅在线文档。你已经被警告了。

#配置和日志文件名:如果您为许多

#在服务器的控制文件中,以“/”开头(对于Win32为“drive:/”)

#服务器将使用该显式路径。如果文件名不以*开头

#带“/”时,ServerRoot的值加上前缀–so’log/access’log

将ServerRoot设置为’/www’时,将由

#服务器为’/www/log/access log’,其中为’/log/access log’

#解释为’/log/access’log。


#ServerRoot:目录树的顶部,在该目录树下服务器的

#保留配置、错误和日志文件。

#不要在目录路径的末尾添加斜杠。如果你指的是

#ServerRoot在非本地磁盘上,请确保在

#Mutex指令,如果使用基于文件的Mutex。如果你想分享

#对于多个httpd守护进程,需要在

#最少的文件。

ServerRoot "/etc/httpd"


#侦听:允许您将Apache绑定到特定的IP地址和/或

#端口,而不是默认值。另请参见

#指令。

#将此更改为侦听特定IP地址,如下所示

#防止Apache对所有绑定的IP地址进行加密。

#Listen12.34.56.78:80
Listen 80


#动态共享对象(DSO)支持

#为了能够使用作为DSO构建的模块的功能

#必须在此位置放置相应的“LoadModule”行,以便

#它包含的指令在使用之前实际上是可用的。

#静态编译的模块(“httpd-l”列出的那些)不需要

#在这里装货。

#示例:

#LoadModule foo\u modules模块/mod\u foo.so

Include conf.modules.d/*.conf


#如果希望httpd作为其他用户或组运行,则必须运行

#httpd最初作为根,它将切换。

#用户/组:运行httpd的用户/组的名称(或#编号)。

#通常,为用户创建一个专用的用户和组是很好的做法

#运行httpd,与大多数系统服务一样。

User apache
Group apache


#“主”服务器配置

#本节中的指令设置“main”使用的值

#服务器,它响应任何未由服务器处理的请求

#定义。这些值还为

#您稍后可以在文件中定义的任何容器。

#所有这些指令都可能出现在容器中,

#在这种情况下,这些默认设置将被

#正在定义虚拟主机。


#ServerAdmin:您的地址,服务器的问题应该在哪里

#通过电子邮件发送。此地址出现在某些服务器生成的页面上,例如

#作为错误文档。例如admin@your-domain.com

ServerAdmin root@localhost


#ServerName提供服务器用来标识自身的名称和端口。

#这通常可以自动确定,但我们建议您指定

#这是为了防止启动过程中出现问题。

#如果您的主机没有注册的DNS名称,请在此处输入其IP地址。

#服务器名www.example.com:80


#拒绝访问服务器的整个文件系统。你必须

#显式允许访问其他目录中的web内容目录

#块。

<Directory />
AllowOverride none
Require all denied
</Directory>

#请注意,从这一点开始,您必须特别允许

#要启用的特定功能-因此如果某些功能无法正常工作

#您可能会期望,确保您已经专门启用了它

#在下面。


#DocumentRoot:您将从中提供服务的目录

#文件。默认情况下,所有请求都来自此目录,但是

#符号链接和别名可用于指向其他位置。

DocumentRoot "/var/www/html"


#放宽对/var/www中内容的访问。

<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

#进一步放宽对默认文档根目录的访问:

<Directory "/var/www/html">

#Options指令的可能值为“None”、“All”,

#或以下任何组合:

#索引包括以下符号链接符号链接所有者匹配执行cgi多视图

#请注意,“多视图”必须显式命名为**–“Options All”

#不是给你的。

#期权指令既复杂又重要。请看

http://httpd.apache.org/docs/2.4/mod/core.html#options

#更多信息。

Options Indexes FollowSymLinks

#AllowOverride控制哪些指令可以放在.htaccess文件中。

#它可以是“全部”、“无”或关键字的任意组合:

#选项FileInfo AuthConfig Limit

 AllowOverride None

#控制谁可以从此服务器获取内容。

    Require all granted
</Directory>

#DirectoryIndex:设置Apache在目录

#已请求。

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

#以下行阻止.htaccess和.htpasswd文件

#由Web客户端查看。

<Files ".ht*">
    Require all denied
</Files>

#错误日志:错误日志文件的位置。

#如果未在中指定ErrorLog指令

#容器中,将显示与该虚拟主机相关的错误消息

#在这里登录。如果为定义错误日志文件

#容器,该主机的错误将记录在那里而不是这里。

ErrorLog "logs/error_log"

#LogLevel:控制记录到错误日志的消息数。

#可能的值包括:debug、info、notice、warn、error、crit、,

#警惕,紧急情况。

LogLevel warn

<IfModule log_config_module>

#以下指令定义了一些用于的格式昵称

#CustomLog指令(见下文)。

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

<IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>

#访问日志文件的位置和格式(通用日志文件格式)。

#如果未在中定义任何访问日志文件

#容器,它们将被记录在这里。相反,如果你这么做了*

#定义每个-访问日志文件,事务将

#记录在其中,在此文件中。

#CustomLog“日志/访问日志”公用

#如果您喜欢包含访问、代理和引用信息的日志文件

#(组合日志文件格式)可以使用以下指令。

    CustomLog "logs/access_log" combined
</IfModule>

<IfModule alias_module>

#重定向:允许您告诉客户端有关以前

#存在于服务器的命名空间中,但不再存在。客户

#将在新位置对文档提出新请求。

#示例:

#重定向永久/foohttp://www.example.com/bar


#别名:将web路径映射到文件系统路径,并用于

#访问不在DocumentRoot下的内容。

#示例:

#别名/webpath/full/filesystem/path

#如果包含一个尾随/on/webpath,那么服务器将

#要求它出现在URL中。你也可能

#需要提供部分以允许访问

#文件系统路径。


#ScriptAlias:它控制哪些目录包含服务器脚本。

#脚本别名本质上与别名相同,只是

#目标目录中的文档被视为应用程序和

#在请求时由服务器运行,而不是作为发送到服务器的文档运行

#客户。关于尾随“/”的相同规则也适用于ScriptAlias

#关于别名的指令。


    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

</IfModule>

#“/var/www/cgi-bin”应更改为脚本别名

#CGI目录存在,如果您已经配置了。

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>

#TypesConfig指向包含映射列表的文件

#MIME类型的文件扩展名。

    TypesConfig /etc/mime.types

#AddType允许您添加或覆盖MIME配置

#在TypesConfig中为特定文件类型指定的文件。

#AddType应用程序/x-gzip.tgz

#addencode允许您对某些浏览器进行解压缩

#飞行中的信息。注意:并非所有浏览器都支持这一点。

#加法编码x-compress.Z

#加法编码x-gzip.gz.tgz

#如果上面的AddEncoding指令被注释掉,那么

#可能应该定义这些扩展以指示媒体类型:

    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

#AddHandler允许您将某些文件扩展名映射到“handlers”:

#与文件类型无关的操作。这些可以内置到服务器中

#或添加了操作指令(见下文)

#要在脚本别名目录之外使用CGI脚本,请执行以下操作:

#(您还需要在“Options”指令中添加“ExecCGI”。)

    #AddHandler cgi-script .cgi

#对于类型映射(协商资源):

    #AddHandler type-map var

#筛选器允许您在内容发送到客户端之前对其进行处理。

#要分析服务器端includes(SSI)的.shtml文件,请执行以下操作:

#(您还需要在“Options”指令中添加“Includes”。)

    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

#为所有服务内容指定默认字符集;这使

#默认情况下,将所有内容解释为UTF-8。使用

#默认浏览器选择(ISO-8859-1),或允许元标记

#在HTML内容中,若要覆盖此选项,请将其注释掉

#指令:

AddDefaultCharset UTF-8
<IfModule mime_magic_module>

#mod\u mime\u magic模块允许服务器使用来自
#文件本身的内容来确定其类型。MIMEMagicFile文件
#指令告诉模块提示定义的位置。

    MIMEMagicFile conf/magic
</IfModule>    

#可定制的错误响应有三种类型:

#1)纯文本2)本地重定向3)外部重定向

#一些例子:

#ErrorDocument 500“服务器发出嘘声。”

#错误文档404/missing.html

#ErrorDocument 404“/cgi bin/缺少\u handler.pl”

#错误文档402http://www.example.com/subscription_info.html


#EnableMap和EnableSendfile:在支持它的系统上,

#内存映射或sendfile syscall可用于传递

#文件。这通常会提高服务器性能,但必须

#从网络服务器服务时关闭

#如果不支持这些函数

#你的系统坏了。

#默认值(如果已注释):启用EnableMap,禁用EnableSendfile

#启用映射关闭

EnableSendfile on

#补充配置

#加载“/etc/httpd/conf.d”目录中的配置文件(如果有的话)。

IncludeOptional conf.d/*.conf   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

低调的小哥哥

你的关注就是我为你服务的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值