RHCE(httpd配置文件)

三、配置文件

3.1、主配置文件

主配置文件所在路径为:

[root@kittod ~]# ll /etc/httpd/conf/httpd.conf 
-rw-r--r--. 1 root root 11921 Oct 20 14:25 /etc/httpd/conf/httpd.conf

3.2、默认主配置文件详解

# ServerRoot:目录树的顶部,服务器的保留配置、错误和日志文件。不要在目录路径的末尾添加斜杠。 ServerRoot指令设置服务器所在的目录。通常,它将包含conf/和logs/子目录。其他配置指令(例如, Include或LoadModule)中的相对路径被视为相对于此目录。如果将ServerRoot指向非本地磁盘,如果使 用基于文件的互斥,请确保在互斥指令中指定本地磁盘。如果希望为多个httpd守护进程共享同一 ServerRoot,则至少需要更改PidFile。

 ServerRoot "/etc/httpd" 

# Listen指令指示apachehttpd只侦听特定的IP地址或端口;默认情况下,它响应所有IP接口上的请求。 Listen现在是一个必需的指令。如果它不在配置文件中,服务器将无法启动。 
# Listen指令告诉服务器接受指定端口或地址和端口组合上的传入请求。如果只指定了端口号,服务器将侦 听所有接口上的给定端口。如果给定了IP地址和端口,服务器将侦听给定的端口和接口。 
# 可以使用多个Listen指令指定要侦听的多个地址和端口。服务器将响应来自任何列出的地址和端口的请 求。

Listen 80 

# 此指令允许在服务器配置文件中包含其他配置文件。 
# Shell样式(fnmatch())通配符可用于路径的文件名或目录部分,以按字母顺序同时包含多个文件。此 外,如果Include指向一个目录而不是一个文件,apachehttpd将读取该目录和任何子目录中的所有文件。 但是,不建议包含整个目录,因为很容易意外地将临时文件留在目录中,从而导致httpd失败。相反,我们鼓 励您使用如下所示的通配符语法,以包括与特定模式匹配的文件,例如*.conf。 # 如果通配符表达式与任何文件不匹配,则Include指令将失败并出错。如果忽略不匹配的通配符,则可以使 用IncludeOptional指令。 # 指定的文件路径可以是绝对路径,也可以是相对于ServerRoot目录的路径。 

Include conf.modules.d/*.conf 

# 如果您希望httpd作为不同的用户或组运行,则必须首先以root用户身份运行httpd,然后它将切换。 
# 用户/组:要作为运行httpd的用户/组的名称(或#编号)。 
# 与大多数系统服务一样,创建一个专用的用户和组来运行httpd通常是一种好的做法。 

User apache 
Group apache 

# ServerAdmin:您的地址,服务器问题应通过电子邮件发送到该地址。此地址出现在某些服务器生成的页 面上,例如错误文档。
例如[email protected] 

ServerAdmin root@localhost

# ServerName提供服务器用于标识自身的名称和端口。这通常可以自动确定,但我们建议您指定,这是为了 防止启动过程中出现问题。
 # 如果您的主机没有注册的DNS名称,请在此处输入其IP地址。 

ServerName 0.0.0.0:80 

# Directory指令包含一组仅适用于命名文件系统目录、子目录及其内容的指令。 
# <Directory>和</Directory>用于封装一组指令,这些指令仅适用于命名目录、该目录的子目录以及相 应目录中的文件。可以使用目录上下文中允许的任何指令。目录路径可以是目录的完整路径,也可以是使用 Unix shell样式匹配的通配符字符串。在通配符字符串中?匹配任何单个字符,*匹配任何字符序列。您还可以使用[]字符范围。所有通配符都不匹配“/”字符,因此<Directory "/*/public\u html">将不匹 配/home/user/public\u html,但<Directory "/*/public\u html">将匹配。 

# 如果愿意,目录路径可以被引用,但是如果路径包含空格,则必须被引用。这是因为空格表示参数的结束。 

# 拒绝访问服务器的整个文件系统。您必须明确允许访问下面其他<Directory>块中的web内容目录,none表 示忽略目录下的.htaccess文件 
# 这里拒绝所有/的访问 
<Directory />
	AllowOverride none 
	Require all denied
</Directory>

# DocumentRoot:提供文档的目录。默认情况下,所有请求都来自此目录,但符号链接和别名可用于指向其 他位置。 

DocumentRoot "/var/www/html" 

# 允许对该目录的访问 

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

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

<Directory "/var/www/html"> 
	# 这里启用了基于文件目录和符号链接的访问,注释改行表示关闭该功能 
	Options Indexes FollowSymLinks 
	AllowOverride None 
	Require all granted 
</Directory> 

# 如果指定模块存在,则按照指定的指令执行 

<IfModule dir_module> 
	DirectoryIndex index.html 
	</IfModule> 
	
# 包含应用于匹配文件名的指令,这里拒绝了.ht前缀的所有文件 
<Files ".ht*"> 
	Require all denied 
</Files>

# 错误日志路径,ErrorLog指令设置服务器将记录其遇到的任何错误的文件名。如果文件路径不是绝对路 径,则假定它是相对于ServerRoot的。 
ErrorLog "logs/error_log" 

# 日志级别,按照严重程度 debug < info < notice < warn < error < crit < alert < emerg. 
LogLevel warn 

# 访问日志格式化配置模块,详见 
http://httpd.apache.org/docs/2.4/mod/mod_log_config.html#formats 
<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> 

# alias:将web路径映射到文件系统路径,并用于访问不在DocumentRoot下的内容。

# ScriptAlias:控制哪些目录包含服务器脚本。脚本别名基本上与别名相同,只是目标目录中的文档被视 为应用程序,并在请求时由服务器运行,而不是作为发送到客户端的文档。关于尾随“/”的规则适用于 ScriptAlias指令和Alias指令。 

	ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 
</IfModule> 

# 对cgi目录的定义 
<Directory "/var/www/cgi-bin"> 
	AllowOverride None 
	Options None 
	Require all granted 
</Directory> 

# 对mime的配置 
<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 

# 对mime的配置

<IfModule mime_magic_module> 
	MIMEMagicFile conf/magic 
</IfModule> 

# 在支持它的系统上,可以使用内存映射或sendfile系统调用来传递文件。这通常会提高服务器性能,但在 从网络安装的文件系统提供服务时,或者在系统上中断对这些功能的支持时,必须将其关闭。 

EnableSendfile on 

# 包含其他配置文件 
IncludeOptional conf.d/*.conf

3.3、默认测试页面

当用户没有自定义页面在默认目录 /var/www/html下时,服务器会按照以下配置文件引导访问该测
试页面。

[root@kittod ~]# ll /etc/httpd/conf.d/welcome.conf 
-rw-r--r--. 1 root root 516 Jun 15 2020 /etc/httpd/conf.d/welcome.conf

如果需要自定义配置文件,建议按照主配置文件最后一行指令来包含指定后缀的文件

# Load config files in the "/etc/httpd/conf.d" directory, if any. 
IncludeOptional conf.d/*.conf

3.4、测试自定义页面

给指定文件写入信息,测试自定义页面

[root@kittod ~]# echo welcome to httpd! > /var/www/html/index.html

在这里插入图片描述

おすすめ

転載: blog.csdn.net/weixin_53002381/article/details/121238474