配置apache之httpd.conf(主机部分)

httpd.conf的主服务器部分配置:

1. ServerName指令

ServerName指令是一个重要的指令,用于定义Apache默认主机名,但是这个指令在httpd.conf中默认被注释掉的,因此要启用它,需要先将ServerName前面的#删除,然后再加上你的站点名称或是IP地址。推荐使用完整的IP地址,例如:

Servername  www.jonsk.com 或  ServerName  172.16.3.9

如果你没有使用这个指令来指定默认的主机名,那么你会在Apache启动时收到下面的错误信息:

$ ./apachectl  atart
httpd: Could not reliably determine the server‘s fully qualified domain name,
using 127.0.0.1 for ServerName

系统会提示没有找到域名,因此只能使用127.0.0.1的地址作为服务器的默认地址,而这个地址只是一个网络回环地址,只能本机访问。如果使用完整的站点名称,那么Apache会根据主机的host.conf文件的配置来选择是先从本地主机名列表(/etc/hosts)中查找 与站点名相对应的IP还是向DNS查询站点名相对应的IP。

2. ServerRoot指令

ServerRoot指令用于定义服务器所在的目录,这个路径通常是在编译过程中由 “-prefix=ServerRoot路径”选项来指定的,它作为Apache的根目录会包含bin,conf,htdocs等文件夹。但是如果你是使用二进制包来安装,那么这个ServerRoot通常位于 /etc/apache2目录下,例如:ServerRoot  /etc/apache2。

3. DocumentRoot指令

DocumentRoot指令用于指定Apache所提供页面服务的根目录,这个目录包含了Apache所收到的URL请求的根(/)目录。如例:DocumentRoot  /srv/www/httpd/ ,此路径需要使用绝对路径来表示,而不能使用相对路径。如果路径中有空格,那么还需要使用引号将它括起来。

4. ServerAdmin指令

ServerAdmin指令用于定义当服务器出现错误后提示给客户端的管理员邮件地址。如:ServerAdmin  [email protected]

5. ServerAlias与Alias指令

这两个指令功能类似,都是用于实现映射目录功能,只是ServerAlias是将映射的目录识别为CGI脚本目录,并将此目录中的所有文件都作为CGI脚本对待,而Alias则是只映射为一个普通的目录,并不会识别为CGI脚本。

6. User与Group指令

User与Group指令用于定义运行Apache服务器的账号和工作组,它用来定义用户请求时所创建的子进程的账号与工作组,并在所定义的账号与工作组的权力范围内工作。如:

在Apache启动后可以使用ps  xau  |grep httpd来查看Apache是否使用了deamon来启动子进程。上图列表中有一个httpd进程的权限是root,这个是Apache的主进程,这个进程不响应任何请求,它只是负责通过建立子进程来响应用户请求。在不同的发行版本中会用不同的user和group账号来启动Apache,在Debian中是daemon,在其它系统中可能是www或是apache,如果是自行编译,则通常 是www-data。

7. Listen指令

Listen指令用来定义Apache的监听端口号,默认为80,端口号的范围是0~65535,理论是可以使用这个范围内的所有端口号,但是这里面的0~1204都是为系统服务所保留的,所以不推荐使用,如果使用了除80外的其他端口,那么客户端就需要在访问服务时加上端口号,例如:Listen:8088。

8. LoadModule指令

LoadModule指令用于加载模块或是目标文件,例如:LoadModule  cgi_module  modules/mod_cgi.so

当Apache出现一个错误时会给出一个HTTP的响应代码,并根据响应代码显示出与出错代码相对应的信息页面,为了让出错页面更友好,更容易读取,我们可以使用ErrorDocument指令根据响应代码自定义服务器出错时所提供的错误信息页面,有三种方法来使用它:定义文本信息,使用脚本,指定一个页面。例如:ErrorDocument  500  "unknown error",为500响应代码定义一个文本信息,通过此文本信息来取代500响应代码信息。ErrorDocument 404 "/srv/www/cgi-bin/missing_404.pl",为400响应代码定义一个脚本,当出现此错误时执行这个脚本,并将结果发给用户。ErrorDocument 402 http://www.jonsk.com/info_402.html ,为402响应代码定义一个链接页面,如果出现402错误则发送这个页面给用户。

9. Options指令

Options指令决定在哪些目录中使用哪些服务器的特性,这些特性如下:

  • None:如果使用此参数,Options指令将不会起任何作用。
  • ExecCGI:允许当前目录下执行CGI脚本。
  • Includes:允许使用SSI功能,即开启服务器方包含(SSI)功能。
  • IncludesNOEXEC:允许使用SSI功能,但是“#exec cmd” 和 "#exec cgi"功能禁止使用。
  • Indexes:开启索引功能,例如,一个请求到目录的URL中没有由DirectoryIndex指令指定的索引文件,那么服务器会自动返回一个请求目录内容的目录列表。
  • FollowSymLinks:允许在当前目录中使用符号连接,但是如果此参数在<Location>容器中则会被忽略,而且也不会改变用于匹配<Directory>容器的路径。
时间: 2024-10-09 03:40:29

配置apache之httpd.conf(主机部分)的相关文章

配置apache之httpd.conf(服务器扩展部分)

在Apache的默认配置文件夹中有一个extra目录,这个目录是用来存放Apache其他模块的配置文件.这些文件是Apache针对常用的模块而设置并提供的,它们都是通过Include指令来加载,如果需要使用则只需要在httpd.conf文件中相应的加载行前删除"#",将其注释取消. Apache扩展配置文件说明: 文件名                                                                             用途     

配置apache之httpd.conf(容器部分)

httpd.conf的容器部分配置. 1. <IfModule>容器 <IfModule>容器作用于模块,它会首先判断模块是否载入,然后再决定是否进行处理,也就是说只有当判断结果为真是才会执行容器内的指令,相反如果为假,则会全部忽略.可以使用<IfModule  模块名>或<IfModule  !模块名>来判断模块是否载入,例如: <IfModule !mpm_netware_module> <IfModule mpm_netware_mo

【转】Apache 的 httpd.conf 配置详解

Apache 的 httpd.conf 配置详解 原文链接 http://www.php100.com/html/webkaifa/apache/2009/0418/1192.html ServerRoot /usr/local ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerR oot定义的路径之下. ScoreBoardFile /var/run

解析apache的httpd.conf配置内容

ServerRoot /usr/local ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerR oot定义的路径之下. ScoreBoardFile /var/run/ht ServerRoot "/usr/local" ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此

Apache 配置文件httpd.conf 的含义

ServerRoot "/usr/local" ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerR oot定义的路径之下. ScoreBoardFile /var/run/httpd.scoreboard httpd使用ScoreBoardFile来维护进程的内部数据,因此通常不需要改变这个参数,除非管理员想在一台计算机上运行几个Apach

Apache配置文件httpd.conf内容翻译

本文已经废弃,现在apache2不依靠httpd.conf来配置. Ubuntu下默认的配置文件是/etc/apache2/sites-available/default 可以修改上面文件来修改apache2配置 目录 [隐藏] 1 原文说明 2 文件全局说明 3 第一区:全局环境参数 4 第二区:“主”服务配置 5 第三区:虚拟主机 原文说明 引自www.linuxsir.org 原文地址:http://www.7880.com/Info/Article-3df0ef00.html 文件全局说

Apache配置文件httpd.conf

通过yum安装的httpd,默认情况下其配置文件为/etc/httpd/conf/httpd.conf, 以及/etc/httpd/conf.d/*.conf. 配置文件主要有三部分组成 [[email protected] ~]# grep 'Section' /etc/httpd/conf/httpd.conf  ### Section 1: Global Environment ### Section 2: 'Main' server configuration ### Section 3

Apache 的 httpd.conf 详解

ServerRoot "/usr/local" ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerR oot定义的路径之下. ScoreBoardFile /var/run/httpd.scoreboard httpd使用ScoreBoardFile来维护进程的内部数据,因此通常不需要改变这个参数,除非管理员想在一台计算机上运行几个Apach

linux上安装apache以及httpd.conf基本配置

1.yum安装apache #yum install httpd -y 2.随系统自启动 #chkconfig httpd on 3.开启apache #service httpd start PS:在CentOS里Apache的默认文档路径的位置是在/var/www/html,配置文件的路径是/etc/httpd/conf/httpd.conf.其他的配置存储在/etc/httpd/conf.d/ 文件夹里. 建议删除/etc/httpd/conf.d/下的welcome.conf文件 删除指