+ -
当前位置:首页 → 问答吧 → httpd.conf配置选项的含义

httpd.conf配置选项的含义

时间:2007-08-01

来源:互联网

下面介绍一些最主要的配置选项的含义,以便大家用最小的精力、最小的配置
  准备好服务器。


  httpd.conf

  tpd.conf是主配置文件。它告诉服务器将如何运行。

  一、最重要的配置选项ServerType standalone | inetd

    这个配置选项指定如何运行WEB服务器。Apache可以使用两种方法来运行服
  务器:standalone(独立的)和inetd(由inetd运行的)。standalone参数表示
  WEB服务进程以一个单独的守候进程的方式在后台侦听是否有客户端的请求,如
  果有就生成一个子进程来为其服务。 inetd参数表示WEB服务不是以一个单独的
  守候进程的形式支持。而是由Inetd这个超级服务器守候进程进行代劳,当它收
  到一个客户端的WEB服务请求的时候,再启动一个WEB服务进程为其服务。从功
  能的角度看,这两种方法几乎是相同的。但它们之间实际有很大区别,区别在
  于服务器的性能。一个由 inted运行的服务器进程在它结束对请求服务的同时
  立刻退出。而在standalone模式下,子WWW服务器进程在退出之前要挂起一段时
  间,这就给它们提供了机会,可以重新用来服务新的请求。

  在standalone模式下,不存在对每个请求启动新进程的开销,所以它的效率更
  高;而inetd模式被认为比standalone模式更具安全性。

  standalone模式:

  此种模式下,WWW服务器侦听特定端口的连接请求。当客户机发出到特定端口地
  址的连接请求时,主服务器进程启动子WWW服务进程来服务该请求。另外还需要
  告诉主服务器进程侦听的特定端口地址,使用命令:

  Port [number] (缺省值为80)

  inetd模式

  inetd 是侦听有小于1024的端口连接请求的Internet守护进程(一个服务器进
  程)。与前面的方法不同,当客户系统发出到WWW服务器的连接请求时, inetd
  启动一个WWW服务器进程,由此进程服务此请求,完成服务后即退出。如果选择
  通过inetd服务器来运行Apache,需要编辑 /etc/inetd.conf文件为Apache添加
  一条新的记录:

  httpd stream tcp nowait httpd /etc/httpd/bin/httpd -f
  /etc/httpd/conf/httpd.conf

  修改了/etc/inetd.conf文件后,就需要修改/etc/services中添加一行

  httpd 80/tcp httpd

  做完以上修改后,需要重新启动inetd进程。首先,使用以下命令取得inetd的
  进程ID:

  ps auxw |grep inetd

  然后执行命令:kill -HUP <inetd的进程ID>

  在RedHat Linux中,默认是采用inetd服务器来运行Apache,所以只要你在安装
  时选择了httpd,以上工作在安装时就已经代你完成了。


  二、其它配置选项

    Server Admin命令,用来设置WEB管理员的E-Mail地址。这个地址会出现在
  系统连接出错的时候,以便访问者能够将情况及时地告知WEB管理员。

  命令格式: Server Admin [you E-Mail address]

  例:Server Admin [email protected]

  ErrorLog命令,用来指定错误记录文件名称和路径。

  命令格式: ErrorLog [log filename]

  例:ErrorLog /var/httpd/error.log

  Timeout命令,只要客户端超过这里设定的秒数还没有完成一个请求的话,服务
  端将终止这次请求服务。如果网络速度较慢的话,建议在此设置较大的数值。
  以给客户端更多机会。

  命令格式: Timeout [second]

  例:Timeout 120

  ServerRoot命令,它指定在何处保存服务器的配置、错误及日志文件。

  命令格式: ServerRoot [fully qualified path name]

  例:ServerRoot /etc/httpd

  ServerName命令,它配置服务器的Internet主机名

  命令格式: ServerName [host name]

  例:ServerName www.xxx.com


  srm.conf

  srm.conf是资源配置文件,用它来告诉服务器你想在WWW站点上提供什么资源以
  及在哪里和如何提供们。

  DocumentRoot命令,用来指定主文档的地址。

  命令格式: DocumentRoot [Path]

  例:DocumentRoot /home/httpd/html

  UserDir 命令,用来指定个人主页的位置。如果你有一个用户test,那么它主
  目录是"/home/test",当客户端输入"http: //yourdomain/~test";;,系统就
  会到对应的目录"/home/test/UserDir/"中去寻找。其中"UserDir"就是在
  UserDir命令中设置的指定目录。

  命令格式: UserDir [Path]

  例: UserDir Public_html

  DirectoryIndex 命令,用来声明首页文件名称。一般地,我们使用
  "index.html"或"index.htm"作为首页的文件名。如果这样设置后,那么客户端
  发出 WEB服务请求时,将首先调入的主页是在指定目录下文?quot;index.html"或
  "index.htm"。

  命令格式: DirecotryIndex [filename]

  例:DirecotryIndex index.html index.htm

  ScriptAlias命令,为脚本程序目录起个别名,具体可见4.7小节。

  命令格式: ScriptAlias [/alias/] [fullly qualified path for script
  directory]

  例: ScriptAlias /cgi-bin/ /home/httpd/cgi-bin


  access.conf的配置

  access.conf文件用来设置WWW站点上诸如文件、目录和脚本项目的访问权限。
  该文件的第一段非注释部分如下:

  <Directory /home/httpd/html>

  Option Indexes Includes ExecCGI FollowSymLink

  AllowOverride None

  Order allow , deny

  allow from all

  </Directory>

  大家应该注意到,这一个部分是以<Directory /home/httpd/html>开始,以
  </Directory>结束的。这表示在其中间的部分都是针对指定目录
  &#0;&#0;"/home/httpd/html"而言的。

  1.Option命令有很多的参数,各个参数的意义如下所示:

  All 准许以下所有功能(MultiViews除外);

  MultiViews 准许内容协商的Multiviews;

  Indexes 若该目录下无index文件,则准许显示该目录下的文件以供选择;

  IncludesNOEXEC 准许SSI(Server-side Includes),但不可使用#exec和
  #include功能;

  Includes 准许SSI;

  FollowSymLinks 准许符号链接到其他目录;

  ExecCGI 准许该目录下可以使用CGI。

  2.而AllowOverride命令则是用来决定是否准许在"access.conf"文件中设定的
  权限是否可以被在文件".htaccess"中设定的权限覆盖。它有两个参数:

  All 准许覆盖;

  None 不准许覆盖。

  3.Order命令:用来设定谁能从这个服务器取得控制。它也有两个参数:


  allow 可以取得控制;

  deny 禁止取得控制。

  现在我们一起来看看关于目录"/home/httpd/html"的设置的含义:它使得这个
  目录,如果不存在index.htm文件时,列出目录信息以供选择,准许SSI,允许
  执行CGI程序,开启了动态连接。它不允许再使用在文件".htaccess"中设定来
  覆盖这里所设置的权限。使所有的人都可以取得控制。

  该文件的第二段非注释部分如下:

  <Directory /home/httpd/cgi-bin>

  Option ExecCGI

  AllowOverride None

  </Directory>

  这个表示目录"/home/httpd/cgi"的设置为,当前目录下可以执行CGI程序。不
  允许再使用在文件".htaccess"中设定来覆盖这里所设置的权限。

  需要说明的是,不同的LINUX系统中,可以在这个文件中看到的信息不完全相
  同,但是根据这里给出的信息,大家可以参照命令的解释自行理解文件中的设
  置,以及根据自己的需要进行相应的修改。

  4.4 使新的配置生效

  在上面,我们可能已经根据新的需求更改了相应的配置选项,如果我们要使得
  这个新的配置立即生效。我们就必须重新启动WEB服务进程。在LINUX中,我们
  可以十分方便地使用命令行来使得WEB服务进程重启。

  /etc/rc.d/init.d/httpd restart

  五、为用户开辟个人主页空间


  如果我们利用了LINUX系统架设了一台WEB服务器,我们不仅可以存放公司的主
  页,而且还可以为公司的每一个员工提供一块个人主页的空间。

  首先,为需要个人主页空间的员工在LINUX上开设一个帐号。这样,它就拥有了
  一个用户主目录"/home/用户帐号名"。

  addusr 用户帐号名

  passwd 用户帐号名

  在用户主目录下建立一个目录"public_html",然后为其设置相应的权限。

  cd ~用户帐号名

  mkdir public_html

  chmod 755 public_html

  确认在srm.conf文件中的UserDir命令设置的是public_html目录。让员工将自
  己的个人主页上传到自己用户主目录下的public_html目录中。

  现在就可以使用"http://www.company.com/~用户帐号名"来访问员工的个人主
  页了。

作者: 逆雪寒   发布时间: 2007-08-01

热门下载

更多