18.1.1 SHTTPD启动参数可动态配置的需求
服务器dHTTP可以动态配置启动参数,例如服务器的侦听端口、支持客户端并发访问的数量、超时时间的设置、访问Web网页的路径等。采用参数配置和文件配置两种支持方式,在优先级上,参数配置比文件配置的优先级高,参数配置的选项值会覆盖文件配置的选项。
1.命令行参数配置
命令行配置的命令格式如下:
SHTTPD –-ListenPort number –-MaxClient number –DocumentRoot path –CGIRoot path –DefaultFile filename –TimeOut seconds –ConfigFile filename
配置选项的含义如下:
q --ListenPort number:配置侦听端口,ListenPort为关键字,number为服务器的侦听端口。例如,如下命令使SHTTPD在8888端口侦听。默认设置为8080。
debain#SHTTPD –ListenPort 8888
q --MaxClient number:最大支持客户端数量,MaxClient为关键字,number为客户端的数量,默认设置为4。
q –DocumentRoot path:服务器搜寻Web网页的根目录,DocumentRoot为关键字,path为路径名称,必须设置为全路径,权限与运行SHTTPD的用户权限相同。默认路径为/usr/local/var/www。
q –CGIRoot path:服务器查找CGI程序的位置,以此作为根目录。CGIRoot为关键字,path为路径,必须为全路径。默认路径为/usr/local/var/www/cgi-bin。
q –DefaultFile filename:当用户没有指定目录下的文件名时,默认发送给客户端的文件。DefaultFile为关键字,filename为设置的文件名,默认为index.html。
q –TimeOut seconds:客户端使用HTTP/1.1协议访问的时候,客户端长时间没有访问服务器时,服务器断开连接的超时时间。TimeOut为关键字,seconds为客户端上次访问的最长间隔,超过这个时间服务器自动断开此连接。默认值为3秒。
q --ConfigFile filename:指定Web服务器SHTTPD的配置文件。ConfigFile为关键字,filename为配置文件的路径,包含配置文件的文件名。默认配置时配置文件为/etc/SHTTPD.conf。
2.文件配置
配置文件的名称为SHTTPD.conf,默认路径为“/etc”下。配置文件的格式如下:
[#注释|[空格]关键字[空格]=[空格]value]
配置文件中的一行为#开头的注释或者选项配置,不支持空行,关键字右边的值不能含有空格。各部分如下定义:
#注释:一行以#开始表示此行为注释,程序不对此行进行分析。
空格:可以为0个或者多个空格。
关键字:可以为如下的字符串,大小写必须完全匹配。
q ListenPort:侦听端口。
q MaxClient:最大客户端并行访问数。
q DocumentRoot:Web网页根目录。
q CGIRoot:CGI程序根目录。
q DefaultFile:默认访问网页名称。
q TimeOut:客户端连接空闲超时时间。
值:用户对关键字选项的配置,全部为字符串。值中不能有引号、换行符、空格(末尾的空格将被解释为值的一部分),ListenPort、TimeOut等不支持16进制的“0x”方式。下面为配置文件实例。
#SHTTPD Web服务器配置文件示例
#侦听端口
ListenPort = 80
#最大并发访问客户端数目
MaxClient = 8
#Web网页根目录
DocumentRoot = /home/www/
#CGI根目录
CGIRoot = /home/www/cgi-bin/
#默认访问文件名
DefaultFile = default.htm
#客户端空闲连接超时时间
TimeOut = 5
%注意:SHTTPD在用户不进行配置的时候可以正常运行,此时采用默认配置。有配置文件则相应的选项覆盖默认配置。命令行输入覆盖文件配置和默认配置。例如图18.2所示为服务器参数配置更改过程。图中从左到右为系统默认配置、配置文件配置和用户启动程序时的更改。