. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 关闭主题
 
主题工具
Jeffery
 
Jeffery 的头像
游客
 
资 料:
注册日期: Jun 2000
帖子: 220 声望值: 0
精华: 0,解答: 18
#1 旧 2001-03-14, 10:47:00 默认
Jeffery 当前离线  

3.20 PidFile 指令

语法: PidFile 文件名称
预设: PidFile logs/httpd.pid
用於: server config
状态: 核心

PidFile 这个指令设定服务器记录服务程序的程序号码所使用的文件。如果文件名称不是以 / 开始那麽它
会被假定是相对於 ServerRoot 的目录。这个 PidFile 只使用在独立(standalone)模式。

能够送个信号给服务器通常会是有用的,可以关闭再重新打开错误记录与传输记录,以及重新读取配置档。
这是藉由传送 SIGHUP (kill -1) 信号到列在 PidFile 里的程序号码来达成的。

3.21 Port 指令

语法: Port 数字
预设: Port 80
用於: server config
状态: 核心

这个 Port 指令设定服务器监听的网路端口号。数字是 0 到 65535 的一个数目;某些端口号(特别是低
於 1024 的)保留给特殊的协定。参阅 /etc/services 里定义的一些端口的列表;标准 http 协定使用 80
端口。

Port 80 是 Unix's 的一个特别端口。所有低於 1024 的端口号都是保留给系统使用的,例如,一般使用者
(non-root)不能使用它们;取而代之的是他们可以使用较高的端口号。

要使用 80 端口你必须以 root 帐号启动服务器。在连接到该端口後,接受请求之前,阿帕奇将会切换为藉
由 User 指令所设定权限较低的使用者身分。

如果你不能使用 80 端口,选择任何其它没有使用到的端口。非 root 使用者必须选择高於 1023 的端口号
,像是 8000 。

安全: 如果你是以 root 启动服务器,确定不要把 User 设为 root 。如果你以 root 身分处理连线的话,
你的站台可能会暴露在攻击下。

3.22 require 指令

语法: require 项目名称 项目 项目 ...
用於: directory, .htaccess
需求: AuthConfig
状态: 核心

这个指令选择经过验认可以存取目录的使用者。允许使用的语法是:

。require user 使用者辨识码 使用者辨识码 ...
只有注明的使用者能存取该目录。

。require group 群组名称 群组名称 ...
只有在注明群组里的使用者能存取该目录。

。require valid-user
所有合法的使用者都可以存取该目录。

如果 require 出现在 <Limit> 节段里,那麽它会限制所注明的存取方式,否则它会限制所有的存取方式。
例如:
AuthType Basic
AuthName somedomain
AuthUserFile /web/users
AuthGroupFile /web/group
Limit <GET POST>
require group admin
</Limit>

Require 必须藉由 AuthName 以及 AuthType 这些指令,以及配合像是 AuthUserFile 以及
AuthGroupFile 指令(用来定义使用者与群组) 以便正确运作。

3.23 ResourceConfig 指令

语法: ResourceConfig 文件名称
预设: ResourceConfig conf/srm.conf
用於: server config, virtual host
状态: 核心

此服务器读取 httpd.conf 文件之後将会继续读取这个文件以取得更多指令。文件名称系相对於
ServerRoot 路径。此特色可以使用如下的方式关闭:

ResourceConfig /dev/null

原本这个文件包含大部分指令,除了服务器配置及 <Directory> 节区以外;事实上它现在可以包含任何可
以用於服务器配置的指令。

3.24 ServerAdmin 指令

语法: ServerAdmin 电子邮件地址
用於: server config, virtual host
状态: 核心

ServerAdmin 设定电子邮件地址,服务器回传任何错误讯息给客户端时会包含这个地址。

设定一个像这样的地址可能会有用,例如

ServerAdmin www-admin@foo.bar.com

因为使用者并不会永远知道他们是跟在哪台服务器打交道!

3.25 ServerName 指令

语法: ServerName 完整的领域名称
用於: server config, virtual host
状态: 核心

这个 ServerName 指令设定服务器的主机名称;这只有在建立重导 URL 的时候使用。如果没有指定它,那
麽服务器会试图从其 IP 位址来决定;然而这个方法可能不能信赖,或者无法回传适当的主机名称。
例如:
ServerName www.wibble.com

如果正式(canonical) 名称是 monster.wibble.com 它还能够使用上述的名称。

3.26 ServerRoot 指令

语法: ServerRoot 目录名称
预设: ServerRoot /usr/local/etc/httpd
用於: server config
状态: 核心

这个 ServerRoot 指令设定服务器所在的目录。它典型会包含有子目录 conf/ 以及 logs/ 。其它配置档
的相对路径是相对於这个路径。

3.27 ServerType 指令

语法: ServerType 型态
预设: ServerType standalone
用於: server config
状态: 核心

这个 ServerType 指令设定系统如何执行这个服务器。型态可以是其中之一:

inetd
服务器将由系统程序 inetd 执行;启动服务器使用的命令加在 /etc/inetd.conf 文件里。

standalone
服务器将会作为服务程序(daemon)执行;启动服务器使用的命令加在系统启动指令稿里
(/etc/rc.local or /etc/rc.d/...)。

inetd 在这两个选项里是较少使用的。因为接收到每个 http 连线就会重头开始执行一份新的服务器拷贝;
连线结束後,这支程序就会结束。每次连线要付出的代价很高,但是因为安全上的理由,某些管理者喜欢
这个选项。

standalone 是 ServerType 使用最普遍的设定,因为它更为有效率。服务器启动一次,而且服务所有的连
线。如果你想要执行阿帕奇来服务一个忙碌的站台, standalone 大概将会是你唯一的选择。

安全: 如果你对安全性有偏执,以 inetd 模式来执行它。两种方式都不能绝对确保安全性,但是大部分人
使用 standalone 用得很高兴时,inetd 大概比较不会遭到攻击。

3.28 StartServers 指令

语法: StartServers 数字
预设: StartServers 5
用於: server config
状态: 核心

这个 StartServers 指令设定启动时建立的子服务程序数量。因为程序的数量是依据负载动态控制的,通常
没有什麽理由得要调整这个参数。

参阅 MinSpareServers 以及 MaxSpareServers 。

3.29 TimeOut 指令

语法: TimeOut 数字
预设: TimeOut 1200
用於: server config
状态: 核心

TimeOut 这个指令设定服务器接收一个请求以及完成一个请求最长的等待时间,以秒为单位。所以如果它花
费比 TimeOut 更多秒来让客户端传送请求或接收回应,服务器将会中断该连线。因此 TimeOut 限制一次
可以传输的最大资料量;对於大文件,以及慢速网路传输时间可能会很久。

3.30 User 指令

语法: User 使用者辨识码
预设: User #-1
用於: server config
状态: 核心

User 这个指令设定服务器用来回答请求的使用者辨识码。为了要能够使用这个指令,必须以 root 身分起
始执行独立的服务器。Unix使用者辨识码可以是其中之一:

一个使用者名称
藉由名称参照给定的使用者。

# 跟随著使用者编号
藉由使用这个编号参照他们。

这个使用者应该不能有存取外界所不能看到的文件的权限,而且与此类似,这个使用者应该不能执行对
httpd 要求而言没有意义的程序码。建议你特别为执行这个服务器设立新的使用者以及群组。某些管理者
使用 nobody 但是这并非永远可行或合适的。

注意: 如果你以非 root 使用者的身分启动这个服务器,它将无法切换到权限较低的使用者,并且取而代之
的是它将会继续以原使用者身份来执行。如果你真的是以 root 启动这个服务器,那麽这个父程序一般仍然
以 root 身分在执行。

安全: 不要把 User(or Group) 设为 root 除非你确实知道你在做什麽以及会有怎麽样的危险。

3.31 <VirtualHost> 指令

语法: <VirtualHost 位址>...</VirtualHost>
用於: 服务器配置
位於: 核心部份

<VirtualHost> 以及 </VirtualHost> 用来把一组指令包装起来,这些指令将只会应用到某个特定的虚拟主
机上。任何可用於虚拟主机的指令都可以使用。当服务器接收到某个特定主机上的文件请求的时候,它会使
用包装在 <VirtualHost> 节段里的配置指令。位址可以是
。虚拟主机的 IP 位址
。虚拟主机的 IP 位址的完整领域名称。

例:
<VirtualHost host.foo.com>
ServerAdmin webmaster@host.foo.com
DocumentRoot /www/docs/host.foo.com
ServerName host.foo.com
ErrorLog logs/host.foo.com-error_log
TransferLog logs/host.foo.com-access_log
</VirtualHost>

目前,每段 VirtualHost 必须符合服务器不同的 IP 位址,所以服务机器必须配置成能够接收多个位址的
IP 封包。如果该机器并没有多个网路界面,那麽这可以配合 ifconfig alias 指令来完成(如果你的作业
系统支援这个功能),或是配合像是 VIF(for SunOS(TM)4.1.x)一类的核心修补档。
发表新主题 关闭主题

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 16:31:06.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号