Sun ONE logo      上一页      目录      索引      下一页     

Sun ONE Web Server 6.1 管理员指南

第 8 章
配置服务器首选项

本章介绍如何为 Sun ONE Web Server 配置服务器首选项。

本章包括以下部分:


启动和停止服务器

服务器将在安装后持续运行,侦听并接受 HTTP 请求。

服务器的状态显示在 "Server On/Off"。您可以使用以下方法之一启动和停止服务器:

关闭服务器后,服务器可能需要几秒钟时间完成关闭过程并将状态更改为 "Off"。

如果计算机崩溃或脱机,服务器将停止,正在处理的所有请求都将丢失。


如果在服务器中安装了安全性模块,则需要在启动或停止服务器之前输入相应的密码。



在 UNIX 上,某些 Sun ONE Web Server 安装需要访问的内存和/或文件描述符可能比默认情况下操作系统所允许访问的要多。如果无法启动服务器,请使用 ulimit 命令检查由操作系统强加的资源限制。有关详细信息,请参见操作系统的 ulimit 手册页。


设置终止超时

服务器停止后,将不再接收新的连接,而只是等待所有未完成的连接完成。在 magnus.conf 文件(可在 server_root/https-server_name/config/ 中找到)中可以配置服务器在超时之前等待的时间。默认情况下,该时间设置为 30 秒。要更改此值,请将下面一行文本添加到 magnus.conf 文件中:

其中 seconds 代表服务器在超时之前等待的秒数。

配置此值的优点是:服务器将等待更长时间以便连接完成。但是,由于服务器通常从非响应的客户机打开连接,因此增加终止超时可能会增加服务器关闭所用的时间。

重新启动服务器 (UNIX/Linux)

您可以使用以下方法之一重新启动服务器:

由于安装脚本无法编辑 /etc/rc.local/etc/inittab 文件,因此必须使用文本编辑器对其进行编辑。如果不知道如何编辑这些文件,请向系统管理员咨询或参见系统文档。

通常情况下,不能使用上述任何文件来启动启用了 SSL 的服务器,因为启动之前服务器会要求输入密码。虽然可以通过将密码以纯文本格式存储在某个文件中来自动启动启用了 SSL 的服务器,但建议不要使用这种方法。


注意

将启用了 SSL 的服务器的密码以纯文本格式存储在服务器的启动脚本中会带来很大的安全风险。任何可以访问该文件的用户都有权访问启用了 SSL 的服务器的密码。在将启用了 SSL 的服务器的密码保存为纯文本格式之前,请考虑可能带来的安全风险。


服务器的启动脚本、密钥对文件和密钥密码应属于 root 用户(如果服务器是由非 root 用户安装的,则应属于该用户帐户),并且只有所有者具有读/写权限。

自动启动启用了 SSL 的服务器

如果您不担心会带来安全风险,请执行以下步骤以自动启动启用了 SSL 的服务器:

  1. 使用文本编辑器打开启动文件,该文件位于 server_root/https-server_id 中。
  2. 找到脚本中的 -start 行并插入以下内容:
  3. echo "password"|

    其中 password 是您选择的 SSL 密码。

    例如,如果 SSL 密码是 netscape,则编辑后的该行文本可能为:

    -start)

    echo "netscape"|./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config $@

使用 inittab 重新启动 (UNIX/Linux)

要使用 inittab 重新启动服务器,请将下面一行文本添加到
/etc/inittab 文件中:

其中 server_root 是服务器的安装目录,type-identifier 是服务器的目录。

-i 选项可以防止将服务器置于后台进程。

在停止服务器之前必须删除此行。

使用系统 RC 脚本重新启动 (UNIX/Linux)

如果使用 /etc/rc.local 或您系统的等效文件,请将下面一行文本添加到 /etc/rc.local 文件中:

server_root 替换为服务器的安装目录。

手动重新启动服务器 (UNIX/Linux)

要从命令行重新启动服务器,如果服务器在端口号低于 1024 的端口上运行,请以 root 用户身份登录;否则,请以 root 用户身份或使用服务器的用户帐户登录。在命令行提示符下,键入下面一行文本并按 Enter 键:

其中 server_root 是服务器的安装目录。

您可以在该行的末尾使用可选参数 -i-i 选项将在 inittab 模式下运行服务器,因此如果服务器进程终止或崩溃,inittab 会重新启动服务器。此选项还可以防止将服务器置于后台进程。


如果服务器已经运行,start 命令将失败。您必须先停止服务器,然后再使用 start 命令。此外,如果服务器启动失败,则应当在尝试重新启动之前终止该进程。


手动停止服务器 (UNIX/Linux)

如果使用 etc/inittab 文件重新启动服务器,则必须在尝试停止服务器之前从 /etc/inittab 中删除启动服务器的相应行并键入 kill -1 1。否则,服务器将在停止后自动重新启动。

要手动停止服务器,请以 root 用户身份或使用服务器的用户帐户(如果您是使用它登录来启动服务器的)登录,然后在命令行中键入以下内容:

重新启动服务器 (Windows)

您可以使用以下方法重新启动服务器:

对于 Windows,请执行以下步骤:

  1. 在“控制面板”中,双击“服务”图标。
  2. 滚动服务列表并选择用于服务器的服务。
  3. 选择“自动”使计算机在每次启动或重新启动时启动服务器。
  4. 单击 "OK"。

  5. 您也可以使用“服务”对话框更改服务器使用的帐户。有关更改服务器使用的帐户的详细信息,请参见“更改用户帐户 (UNIX/Linux)”。


默认情况下,Web 服务器将提示管理员在启动之前输入密钥数据库密码。如果希望重新启动一个无人参与的 Web 服务器,则需要将该密码保存在 password.conf 文件中。仅当系统具有充分的保护时才可以这样做,以免文件和密钥数据库遭到破坏。

使用自动重新启动实用程序 (Windows)

如果服务器崩溃,将自动通过服务器监视实用程序来重新启动服务器。在安装了调试工具的系统上,如果服务器崩溃,系统将显示一个含有调试信息的对话框。要帮助调试服务器插件 API 程序(例如,NSAPI 程序),可以通过设置一个非常高的超时值来禁用自动启动功能。您也可以使用注册表编辑器来关闭调试对话框。

更改时间间隔 (Windows)

要更改启动与服务器可以自动重新启动之间所经过的时间间隔,请执行以下步骤:

  1. 启动注册表编辑器。
  2. 选择服务器的注册表主键(在注册表编辑器窗口的左侧,位于 HKEY_LOCAL_MACHINE\SOFTWARE\Netscape\Enterprise\6.0 中)。
  3. 从“编辑”菜单中选择“添加值”。将显示“添加主键”对话框。
  4. 在“值名称”中,键入 "MortalityTimeSecs"。
  5. 从“数据类型”下拉列表中选择 "REG_DWORD"。
  6. 单击“确定”。将显示“DWORD 编辑器”对话框。
  7. 键入启动和服务器可以自动重新启动的时间之间的时间间隔(秒)。
  8. 该间隔可以是二进制、十进制或十六进制格式。

  9. 为在上一步中输入的值单击某个数字格式(二进制、十进制或十六进制)。
  10. 单击“确定”。
  11. MortalityTimeSecs 值将以十六进制格式显示在注册表编辑器窗口的右侧。

关闭调试对话框 (Windows)

如果您安装的某个应用程序(例如编译程序)修改了系统的调试设置,则服务器崩溃时,您可能会看到一个系统生成的应用程序错误对话框。单击“确定”后服务器才能重新启动。

要关闭服务器崩溃时显示的调试对话框,请执行以下步骤:

  1. 启动注册表编辑器。
  2. 选择 AeDebug 主键,该主键位于注册表窗口左侧的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion 中。
  3. 在窗口的右侧双击“自动”值。
  4. 将显示“字符串编辑器”对话框。

  5. 将字符串值更改为 1。


优化服务器性能

优化线程限制有两种方法:编辑 magnus.conf 文件或使用 Server Manager。

如果编辑 magnus.conf 文件,则 RqThrottleMinPerSocket 是最小值,RqThrottle 是最大值。

最小限制是服务器试图在 WaitingThreads 状态中保持的线程数。该数目只是一个希望的目标。该状态中的实际线程数会稍微高于或低于此值。默认值为 48。最大线程是对可同时运行的活动线程最大数目的硬性限制,它可能会成为性能的瓶颈。默认值为 128。

如果使用 Server Manager,请执行以下步骤:

  1. 转至 "Preferences" 选项卡。
  2. 单击 "Performance Tuning" 链接。
  3. 在 "Maximum simultaneous requests" 字段中输入所需的值。

有关 RqThrottleMinPerSocketRqThrottle 参数的详细信息,请参见《Sun ONE Web Server 6.1 Administrator's Configuration File Reference》。

有关这些设置和其他设置的隐含性能的详细信息,请参见《Sun ONE Web Server 6.1 Performance Tuning, Sizing, and Scaling Guide》。


编辑 magnus.conf 文件

Sun ONE Web Server 启动时,它将查看 server_root/server_id/config 目录中的一个名为 magnus.conf 的文件,以创建一组影响服务器的行为和配置的全局变量设置。Sun ONE Web Server 将执行 magnus.conf 中定义的所有指令。您可以使用 Server Manager 中的 "Magus Editor" 来编辑 magnus.conf 文件中的某些设置。

有关 magnus.conf 文件的完整说明以及使用文本编辑器编辑该文件的信息,请参见《Sun ONE Web Server 6.1 Administrator's Configuration File Reference》和《Sun ONE Web Server 6.1 NSAPI Programmer's Guide》。

要访问 "Magnus Editor",请执行以下步骤:

  1. 访问 Server Manager 并选择 "Preferences" 选项卡。
  2. 单击 "Magnus Editor" 链接。
  3. 从下拉列表中选择要编辑的设置并单击 "Manage"。
  4. Server Manager 将显示指定设置的编辑器。

  5. 根据需要对设置进行更改,然后单击 "OK"。

有关每个 "Settings" 的详细信息,请参见联机帮助中的 "Magnus Editor" 页面


添加和编辑侦听套接字

在服务器能够处理请求之前,必须先通过侦听套接字接受请求,然后将请求发送给正确的虚拟服务器。安装 Sun ONE Web Server 时将自动创建一个侦听套接字 (ls1)。此侦听套接字使用 IP 地址 0.0.0.0 和在安装过程中指定为 HTTP 服务器端口号的端口号(默认值为 80)。不能删除默认的侦听套接字。

您可以使用 Server Manager 的侦听套接字表来编辑服务器的侦听套接字设置。要访问该表,请执行以下步骤:

  1. 访问 Server Manager 并单击 "Preferences" 选项卡。
  2. 单击 "Edit Listen Sockets" 链接。
  3. 进行所需的更改并单击 "OK"。


选择 MIME 类型

通过 "Mime Types" 页面可以编辑服务器的 MIME 文件。

MIME(多用途 Internet 邮件扩展)类型控制邮件系统支持的多媒体文件的类型。它还可以指定属于特定服务器文件类型的文件扩展名(例如,指定哪些文件是 CGI 程序)。

您无需为每台虚拟服务器创建单独的 MIME 类型文件。相反,可以根据需要创建任意数量的 MIME 类型文件,然后将它们与一台虚拟服务器相关联。默认情况下,服务器中存在一个 MIME 类型文件 mime.types,该文件不可删除。此文件可以使用绝对路径。

要访问 "MIME Types",请执行以下步骤:

  1. 访问 Server Manager 并单击 "Preferences" 选项卡。
  2. 单击 "MIME Types" 链接。
  3. 进行所需的更改并单击 "OK"。

有关详细信息,请参见联机帮助中的 "Mime Settings" 页面和“使用虚拟服务器”。


限制访问

您可以使用 Server Manager 的 "Restrict Access" 页面控制对整个服务器或服务器中各部分(即目录、文件、文件类型)的访问。当服务器评估传入的请求时,它将根据一个称为访问控制条目 (ACE) 的分层结构规则确定访问权限,然后使用匹配的条目确定是否允许该请求。每个 ACE 都指定了服务器是否应当继续检查分层结构中的下一个 ACE。该 ACE 集合称为访问控制表 (ACL)。当一个请求传入服务器时,服务器将在 vsclass.obj.conf 文件(其中 vsclass 是虚拟服务器类的名称)中查找对某个 ACL 的引用,然后用该 ACL 确定访问权限。默认情况下,服务器具有一个 ACL 文件,其中包含多个 ACL。

您可以通过 Administration Server 为所有服务器设置全局访问控制,或通过 Server Manager 为特定服务器实例中的资源设置访问控制。有关为某个资源设置访问控制的详细信息,请参见“设置访问控制”。


必须先启用分布式管理,然后才能限制服务器访问。


要限制对 Sun ONE Web Server 的访问,请执行以下步骤:

  1. 访问 Server Manager 并选择 "Preferences" 选项卡。
  2. 单击 "Restrict Access" 链接。

有关详细信息,请参见“控制对服务器的访问”和联机帮助中的 "Restrict Access" 页面


恢复配置设置

通过 "Restore Configuration" 页面可以查看配置文件的备份副本,还可以恢复在某个特定日期保存的配置数据。


在 Windows 上,请仅使用此页面回滚您自己对配置文件所做的更改。请不要回滚到安装过程中创建的备份版本,它们可能不完整。


有关详细信息,请参见联机帮助中的 "Restore Configuration" 页面


配置文件高速缓存

Sun ONE Web Server 使用文件高速缓存以更快地提供静态信息。在服务器的前一个版本中,也有一个加速器高速缓存,可以将请求路由到文件高速缓存,但现在已不再使用。文件高速缓存包含有关文件和静态文件内容的信息,并且可以缓存用于加速处理服务器分析的 HTML 的信息。

默认情况下,文件高速缓存处于打开状态。文件高速缓存设置包含在 nsfc.conf 文件中。可以使用 Server Manager 更改文件高速缓存设置。

有关详细信息,请参见 http://docs.sun.com 上的联机指南 Performance Tuning and Sizing Guide。


添加和使用线程池

您可以使用线程池将一定数量的线程分配给特定服务。

线程池的另一个用途是运行对于线程来说不安全的插件。如果将线程池的最大线程数定义为 1,则指定的服务函数只允许处理一个请求。

添加线程池时,需要指定的信息包括:最小和最大线程数、栈大小以及队列大小。

有关详细信息,请参见 http://docs.sun.com 上的联机指南 Performance Tuning and Sizing Guide。

本地线程池和普通线程池 (Windows)

在 Windows 上,您可以使用两种线程池:本地线程池 (NativePool) 和普通线程池。

要编辑本地线程池,请访问 Server Manager 中的 "Native Thread Pool" 页面。

您可以根据需要创建任意多个普通线程池以便用于各种目的。要创建普通线程池,请访问 Server Manager 中的 "Generic Thread Pools" 页面。

线程池 (UNIX/Linux)

由于 UNIX/Linux 上的线程始终是由操作系统而不是用户安排的,因此 UNIX/Linux 用户无需使用 NativePool,也没有可供编辑其设置的 "Server Manager"。但是,UNIX/Linux 用户仍然可以创建线程池。要创建线程池,请访问 Server Manager 中的 "Thread Pools" 页面。

编辑线程池

添加线程池后,可以通过 Server Manager 更改线程池设置的值(例如最小线程数和最大线程数等)。

您也可以在 vsclass.obj.conf(其中 vsclass 是虚拟服务器类的名称)中更改线程池设置。

vsclass.obj.conf 中显示的线程池如下:

使用以下参数更改线程池:MinThreadsMaxThreadsQueueSizeStackSize

Windows 用户始终可以使用 Server Manager 来编辑本地池的设置。

使用线程池

对线程池进行设置后,可以通过将其指定为特定服务的线程池来使用它。

要配置线程池,请转到 "Server Manager Preferences" 选项卡并选择 "Thread Pool"。配置线程池后,"Thread Pool" 列表将显示可用于您所指定的特定服务的线程池

您也可以通过使用 vsclass obj.conf(其中 vsclass 是虚拟服务器类的名称)中的 load-modules 函数的 pool 参数来指定线程池。

此外,可以对任意 NSAPI 函数使用 pool 参数,以便仅让该 NSAPI 函数在您指定的池中运行。



上一页      目录      索引      下一页     


版权所有 2004 Sun Microsystems, Inc. 保留所有权利。