Sun ONE logo     上一个      目录      索引      下一个     
Sun ONE Application Server 7, Update 1 管理员指南



使用虚拟服务器

本 module 介绍了如何使用 Sun ONE Application Server 设置和管理虚拟服务器。有关配置虚拟服务器内容设置的信息,请参见“管理虚拟服务器内容”

本 module 包括以下主题:

虚拟服务器概述

使用虚拟服务器时,可以用一个已安装的服务器提供公司或个人域名、IP 地址和某些服务器监视功能。对用户而言,他们就像拥有了自己的 Web 服务器,但您应提供硬件并维护虚拟服务器。

安装 Sun ONE Application Server 的非捆绑版本时,系统将为应用程序服务器实例创建一个默认虚拟服务器。也就是说,对于默认的应用程序服务器实例 server1,将同时创建一个名为 server1 的虚拟服务器。如果使用的是 Solaris 9 捆绑版本,则您需要创建一个服务器实例。创建服务器实例的同时将创建一个与之同名的虚拟服务器。系统将为创建的每个附加应用程序服务器实例创建一个虚拟服务器。有关创建和配置虚拟服务器的详细信息,请参见“创建和配置虚拟服务器”。有关部署虚拟服务器的详细信息,请参见“部署虚拟服务器”

此虚拟服务器可以控制 Sun ONE Application Server 的 HTTP 功能,这些功能以虚拟服务器为单位提供。您可能不需要使用多个虚拟服务器,但是仍然可以通过配置与应用程序服务器实例一同创建的默认虚拟服务器来配置此应用程序服务器实例的某些属性。

虚拟服务器的设置存储在 instance_dir/config 目录的 server.xml 文件中的 virtual-server 元素中。有关此文件的详细信息,请参见《Sun ONE Application Server Administrator's Configuration File Reference》。

与虚拟服务器相关的某些信息存储在虚拟服务器的 obj.conf 文件中。每个虚拟服务器都有一个单独的 obj.conf 文件。

本节包括以下主题:

HTTP 监听器

服务器与客户机之间的连接在 HTTP 监听器(也称作监听套接字)上进行。您创建的每个 HTTP 监听器都有一个 IP 地址、端口号、返回服务器名和默认虚拟服务器。要使 HTTP 监听器监听计算机给定端口上所有已配置的 IP 地址,请使用 0.0.0.0、any、ANY 或 INADDR_ANY 作为 IP 地址。有关创建和配置 HTTP 监听器的详细信息,请参见“创建和配置 HTTP 监听器”

安装 Sun ONE Application Server 的非捆绑版本时,系统将自动创建一个 HTTP 监听器 http-listener-1。此 HTTP 监听器使用 IP 地址 0.0.0.0 和安装过程中指定为 HTTP 服务器端口号的端口号(默认值为 80,如果以超级用户以外的身份进行安装,则在 UNIX 中为 1024)。不能删除默认的 HTTP 监听器。如果使用多个虚拟服务器,则既可以对所有虚拟服务器使用默认 HTTP 监听器,也可以创建多个 HTTP 监听器。

使用 Solaris 9 捆绑的 Sun ONE Application Server 时,HTTP 监听器将在您创建服务器实例时创建。它具有 IP 地址 0.0.0.0 和创建实例时指定的端口号。

由于 HTTP 监听器是 IP 地址和端口号的组合,因此您可以拥有多个 IP 地址相同但端口号不同(或 IP 地址不同但端口号相同)的 HTTP 监听器。例如,您既可以使用 1.1.1.1:81 和 1.1.1.1:82,也可以使用 1.1.1.1:81 和 1.2.3.4:81,只要将计算机配置为响应这两个地址即可。但是,如果使用 0.0.0.0 IP 地址监听端口上的所有 IP 地址,则不能为监听特定 IP 地址的同一端口的其它 IP 地址设置 HTTP 监听器。例如,如果某个 HTTP 监听器使用 0.0.0.0:80(端口 80 上的所有 IP 地址),则不能同时创建一个使用 1.2.3.4:80 的 HTTP 监听器。

每个 HTTP 监听器还有一个默认虚拟服务器,用于在无法连接到请求中指定的虚拟服务器时,将请求路由到此默认虚拟服务器。

此外,还应在 HTTP 监听器中指定接收方线程(有时称作接受线程)的数目。接受线程是等待连接的线程,用于接受连接并将其置于队列中以便随后由辅助线程拾取。理想情况下,您需要有足够的接受线程,以便在新请求传入时始终有一个可用的线程,但是,线程数目不能过多,否则会占用过多的系统资源。默认线程数为 1。最好是系统上的每个 CPU 都有一个接受线程。如果发现性能问题,可以调整此值。

还应指定是否为 HTTP 监听器启用安全性以及使用哪种类型的安全性(例如,哪种类型的 SSL 以及哪些加密算法)。

虚拟服务器

要创建虚拟服务器,首先必须确定所需的虚拟服务器类型。既可以使用基于 IP 地址的虚拟服务器,也可以使用基于 URL 主机的虚拟服务器。要创建虚拟服务器,需要指定一个虚拟服务器 ID、一个或多个 HTTP 监听器和一个或多个 URL 主机。

本节包括以下主题:

虚拟服务器的类型

所有虚拟服务器都需要指定 URL 主机。然而,也可以基于 HTTP 监听器将虚拟服务器与 IP 地址关联。如果虚拟服务器的 HTTP 监听器监听特定的 IP 地址,则该虚拟服务器称作基于 IP 地址的虚拟服务器。

如果多个虚拟服务器监听同一 IP 地址,则根据 URL 主机对它们进行区分,这样的虚拟服务器称作基于 URL 主机的虚拟服务器。

当新请求传入时,服务器将根据 IP 地址或 Host 标题中的值确定将此请求发送到哪个虚拟服务器。首先,它将提取 IP 地址。有关详细信息,请参见“选择用于处理请求的虚拟服务器”

基于 IP 地址的虚拟服务器

要使一台计算机具有多个 IP 地址,必须通过操作系统对其进行映射或提供附加卡。要通过操作系统设置多个 IP 地址,请使用“网络控制面板”(Windows) 或 ifconfig 公用程序 (UNIX)。请注意,ifconfig 的用法因平台而异。有关详细信息,请参见操作系统文档。

要创建基于 IP 地址的虚拟服务器,可创建一个用于监听特定 IP 地址的 HTTP 监听器。然后,关联一个虚拟服务器作为此 HTTP 监听器的默认虚拟服务器。有关虚拟服务器部署方法的详细信息,请参见“部署虚拟服务器”

基于 URL 主机的虚拟服务器

要设置基于 URL 主机的虚拟服务器,可为其提供唯一的 URL 主机。Host 请求标题的内容将服务器定向到正确的虚拟服务器。

例如,如果要为用户 aaabbbccc 设置虚拟服务器以便每个用户都可以拥有单个域名,首先对 DNS 进行配置,使其能够识别每个用户的 URL(www.aaa.com、www.bbb.comwww.ccc.com)将解析为所使用的 HTTP 监听器的 IP 地址。然后对每个虚拟服务器的 URL 主机进行正确的设置(例如,www.aaa.com)。注意,应将主机映射到 /etc/hosts 文件中的 IP 地址。

可以将任何数目的基于 URL 主机的虚拟服务器与 HTTP 监听器关联。

由于基于 URL 主机的虚拟服务器使用 Host 请求标题将用户定向到正确的页面,因此并非所有客户机软件都可以与它们一起工作。不支持 HTTP Host 标题的旧客户机软件无法正常运行。这些客户机将接收 HTTP 监听器的默认虚拟服务器。

默认虚拟服务器

系统使用 Host 请求标题选择基于 URL 主机的虚拟服务器。如果最终用户的浏览器未发送 Host 标题,或者如果服务器找不到指定的 Host 标题,则 HTTP 监听器的默认虚拟服务器将处理该请求。

同样,对于基于 IP 地址的虚拟服务器,如果 Sun ONE Application Server 找不到指定的 IP 地址,则 HTTP 监听器的默认虚拟服务器将处理该请求。可以将默认虚拟服务器配置为发送错误信息或特殊文档根目录中的服务器页。



注意

请勿将 HTTP 监听器的默认虚拟服务器与安装服务器时创建的默认虚拟服务器混淆。默认虚拟服务器是默认应用程序服务器实例的虚拟服务器。HTTP 监听器的默认虚拟服务器是指定为默认虚拟服务器的任何虚拟服务器。



可在创建 HTTP 监听器时指定默认虚拟服务器。可以随时更改此默认虚拟服务器。

obj.conf 文件

默认情况下,每个虚拟服务器都有一个单独的 obj.conf 文件,用于存储虚拟服务器设置。通过管理界面或命令行界面更改设置时,这些更改将在配置文件(包括虚拟服务器的 obj.conf 文件)中自动进行。所有 obj.conf 文件都位于 instance_dir/config 目录中。本指南中提到的“obj.conf 文件”是指所有 obj.conf 文件,或所介绍的虚拟服务器的 obj.conf 文件。

无前缀的 obj.conf 文件是一个 Sun ONE Application Server 用来为每个虚拟服务器创建 obj.conf 文件的模板。编辑此文件不会影响任何现有的虚拟服务器,但是可以影响随后创建的任何虚拟服务器。有关直接编辑 obj.conf 文件的详细信息,请参见《Sun ONE Application Server Administrator's Configuration File Reference》。

默认情况下,每个活动的 obj.conf 文件都名为 virtual_server_name-obj.conf。由于服务器实例的默认虚拟服务器是根据实例命名的,因此首次创建服务器实例时,它的 obj.conf 文件名为 instance_name-obj.conf。直接对其中的某个文件进行编辑,或通过管理界面进行编辑可更改虚拟服务器的设置。

选择用于处理请求的虚拟服务器

服务器在可以处理请求前,必须先通过 HTTP 监听器接受该请求,然后再将其定向到正确的虚拟服务器。本节介绍了确定虚拟服务器的方法。

  • 如果 HTTP 监听器只配置了一个默认虚拟服务器,则此虚拟服务器将被选中。
  • 如果 HTTP 监听器配置了多个虚拟服务器,则将请求 Host 标题匹配到虚拟服务器的 hosts 属性。如果 Host 标题不存在,或与 hosts 属性不匹配,则选择 HTTP 监听器的默认虚拟服务器。

如果向 SSL HTTP 监听器配置了虚拟服务器,则在服务器启动时将检查该虚拟服务器的 hosts 属性与证书的主题模式是否匹配,如果不匹配,则将生成警告并写入服务器日志。

确定虚拟服务器后,Sun ONE Application Server 将执行虚拟服务器的 obj.conf 文件。有关服务器如何确定在 obj.conf 文件中执行哪些指令的详细信息,请参见《Sun ONE Application Server Administrator's Configuration File Reference》。

文档根目录

文档根目录(有时称作主文档目录)是包含所有要提供给远程客户机的虚拟服务器文件的中心目录。

使用文档根目录可以轻松地将访问限制到虚拟服务器上的文件。还可以轻松地将文档移动到新目录(可能位于其它硬盘上)而无需更改任何 URL,因为在 URL 中指定的路径相对于主文档目录。

例如,如果文档目录为 install_dir/docs,则请求(例如 http://www.sun.com/products/info.html)将通知服务器在 install_dir/docs/info.html 中查找此文件。如果更改文档根目录(即移动所有文件和子目录),则只需更改虚拟服务器使用的文档根目录,而不用将所有 URL 均映射到新目录,或以某种方式通知客户机在新目录中查找。

默认 Sun ONE Application Server 实例 (server1) 的文档根目录成为在 server1 应用程序服务器实例中创建的虚拟服务器的文档根目录。可以覆盖创建的每个虚拟服务器的文档根目录。

在虚拟服务器中使用 Sun ONE Application Server 的功能

Sun ONE Application Server 提供了很多可用于虚拟服务器的功能(例如,SSL 和访问控制)。以下各节介绍了这些功能,并介绍了如何查找更多信息。

本节包括以下主题:

在虚拟服务器中使用 SSL

如果要在虚拟服务器上使用 SSL,通常应使用基于 IP 地址的虚拟服务器。通常使用端口 443。在基于 URL 主机的虚拟服务器上不宜使用 SSL,因为 Sun ONE Application Server 必须先读取请求,然后才能确定将请求发送到哪个 URL 主机。服务器读取请求与进行安全信息交换的初始信号握手同时发生。

唯一的例外是基于 URL 主机的虚拟服务器都具有相同的 SSL 配置,包括使用“通配符证书”的相同服务器证书。有关详细信息,请参见《Sun ONE Application Server Administrator's Guide to Security》。

在虚拟服务器中实现 SSL 的方法之一是使用两个 HTTP 监听器,一个使用 SSL 并监听端口 443,另一个不使用 SSL。用户通常通过非 SSL HTTP 监听器访问虚拟服务器。当必须使用安全事务时,可以单击 Web 页上的按钮,以启动安全事务。然后,请求将通过安全的 HTTP 监听器。

由于 SSL 事务的速度比非 SSL 事务慢很多,因此只在必要时使用 SSL 事务。其它情况下将使用更快的非 SSL 连接。

有关在 Sun ONE Application Server 和虚拟服务器中设置和使用安全性的详细信息,请参见《Sun ONE Application Server Administrator's Guide to Security》。有关在虚拟服务器中配置 SSL 的示例图表,请参见“示例 2:安全服务器”

使用访问日志文件和服务器日志文件

访问日志文件用于记录对虚拟服务器的 HTTP 访问。创建新的虚拟服务器时,默认情况下,访问日志文件与应用程序服务器实例的日志文件是同一文件。很多情况下,用户可能希望每个单独的虚拟服务器都有自己的日志文件。要进行此设置,可以更改每个虚拟服务器的日志路径。如果要将所有虚拟服务器访问记录到同一访问日志文件中,可以更改服务器实例的日志设置,以便将虚拟服务器 ID 包含到日志文件中。有关更改应用程序服务器实例日志的详细信息,请参见“使用日志”

服务器日志文件用于记录提示性信息和错误。创建新的虚拟服务器时,默认情况下,它的日志文件与应用程序服务器实例的日志文件相同。您可以更改每个虚拟服务器的日志文件。

在虚拟服务器中使用访问控制

使用虚拟服务器可以以虚拟服务器为单位设置访问控制。甚至可以对其进行配置,以便每个虚拟服务器可以使用 LDAP 数据库对用户和组进行验证。有关详细信息,请参见《Sun ONE Application Server Administrator's Guide to Security》。

在虚拟服务器中使用 CGI

可以在虚拟服务器上使用 CGI。需要在每个虚拟服务器上设置用于存储 CGI 的目录并设置 CGI 的文件类型。有关 CGI 的详细信息,请参见《Sun ONE Application Server Developer's Guide to Web Applications》。

创建和配置 HTTP 监听器

服务器在可以处理请求前,必须先通过 HTTP 监听器接受该请求,然后再将其定向到正确的虚拟服务器。创建服务器实例(在安装过程中或以后的操作中)的同时将自动创建一个 HTTP 监听器 http-listener-1。此 HTTP 监听器使用 IP 地址 0.0.0.0 和指定为应用程序服务器端口号的端口号。不能删除默认的 HTTP 监听器。

本节包括以下主题:

创建 HTTP 监听器

使用管理界面创建 HTTP 监听器的步骤:

  1. 在左侧窗格的应用程序服务器实例中,打开“HTTP Server”。
  2. 单击“HTTP Listeners”。
  3. 单击“New”。
  4. 填写各个字段。
  5. HTTP 监听器必须有一个唯一的端口号和 IP 地址组合。既可以使用 IPV4 地址,也可以使用 IPV6 地址。如果要为基于 IP 地址的虚拟服务器创建 HTTP 监听器,请为 HTTP 监听器指定一个特殊的 IP 地址。

    “Return Server Name”字段在服务器发送给客户机的 URL 中指定主机名。这会影响服务器自动生成的 URL,但不会影响存储在服务器中的目录和文件的 URL。如果服务器使用别名,则此名称应为别名。

    默认虚拟服务器用于在未找到其它虚拟服务器的情况下回复 HTTP 监听器的请求。有关详细信息,请参见“选择用于处理请求的虚拟服务器”

    必须先启用 HTTP 监听器,然后才能使其接受请求。

    还可以启用安全性并配置此 HTTP 监听器的高级属性。要指定 IPV6,请在“Family”字段中使用值 inet6。如果此值为 inet6,系统将在服务器日志中的 IPv4 地址前加上前缀 ::ffff:。

  6. 单击“OK”。

请注意,创建 HTTP 监听器时,必须在默认虚拟服务器字段中输入一个现有的虚拟服务器。可以使用同服务器实例一同创建的虚拟服务器,然后在创建附加虚拟服务器后,根据需要返回并对其进行更改。

要使用命令行界面创建 HTTP 监听器,请使用 asadmin 公用程序的 create-http-listener 命令。要获取已创建的所有 HTTP 监听器的列表,请使用命令 list-http-listeners

要创建 HTTP 监听器,请使用以下语法:

asadmin create-http-listener --user username [--password password] [--host hostname] [--port adminport] [--secure | -s] [--passwordfile file_name] --address address [--instance instancename] --listenerport listener_port --defaultvs virtual_server --servername server_name [--family family] [--acceptorthreads acceptor_threads] [--blockingenabled blocking_enabled] [--securityenabled security_enabled] [--enabled enabled] listener_id

有关命令语法的详细信息,请参见命令行界面帮助。有关 asadmin 用法的详细信息,请参见“使用命令行界面”

编辑 HTTP 监听器设置

使用管理界面编辑 HTTP 监听器设置的步骤:

  1. 在左侧窗格的应用程序服务器实例中,打开“HTTP Server”。
  2. 打开“HTTP Listeners”。
  3. 单击要编辑的 HTTP 监听器。
  4. 进行所需的更改,然后单击“Save”。

有关详细信息,请参见联机帮助。

也可以在命令行界面中使用 asadmin 公用程序编辑 HTTP 监听器。使用 get 命令获取当前设置,并使用 set 命令将其设置为新值。

获取 HTTP 监听器的所有属性值的步骤:

asadmin> get server_instance.http-listener.http_listener_name.*

例如,要获取默认 HTTP 监听器的值:

asadmin> get server1.http-listener.http-listener-1.*

设置任意属性值的步骤:

asadmin> set server_instance.http-listener.http_listener_name.attribute_name=value

例如,要将 http-listener-1 的属性 defaultVirtualServer 设置为 server2

asadmin> set server1.http-listener.http-listener-1.defaultVirtualServer=server2

有关命令语法的详细信息,请参见命令行界面帮助。有关 asadmin 用法的详细信息,请参见“使用命令行界面”

删除 HTTP 监听器

使用管理界面删除 HTTP 监听器的步骤:

  1. 在左侧窗格的应用程序服务器实例中,打开“HTTP Server”。
  2. 单击“HTTP Listeners”。
  3. 单击要删除的 HTTP 监听器旁边的复选框。
  4. 单击“Delete”。

要使用命令行界面删除 HTTP 监听器,请使用 asadmin 公用程序的 delete-http-listener 命令,该命令的语法如下:

asadmin delete-http-listener ---user username [--password password] [--host hostname] [--port adminport] [--secure | -s] [--passwordfile file_name] --instance instance httplistener_id

有关命令语法的详细信息,请参见命令行界面帮助。有关 asadmin 用法的详细信息,请参见“使用命令行界面”

创建和配置虚拟服务器

设置 HTTP 监听器后,可以创建和使用虚拟服务器。

本节包括以下主题:

创建虚拟服务器

使用管理界面创建虚拟服务器的步骤:

  1. 在左侧窗格的应用程序服务器实例中,打开“HTTP Server”。
  2. 单击“Virtual Servers”。
  3. 单击“New”。
  4. 填写必需字段和任何可选字段。
  5. 单击“Save”。

要使用命令行界面创建虚拟服务器,请使用 asadmin 公用程序的 create-virtual-server 命令,该命令的语法如下:

asadmin create-virtual-server --user username ---user username [--password password] [--host hostname] [--port adminport] [--secure | -s] [--passwordfile file_name] [--instance instancename] --hosts hosts --mime mime_types_file [--httplisteners http-listeners] [--defaultwebmodule default_web_module] [--configfile config_file] [--defaultobj default_object] [--state state] [--acls acls] [--acceptlang accept_language] [--logfile logfile] [--property (name=value)[:name=value]*] virtual_server_id

有关命令语法的详细信息,请参见命令行界面帮助。有关 asadmin 用法的详细信息,请参见“使用命令行界面”

创建虚拟服务器时,可以输入以下类型的设置:

必需的设置

虚拟服务器必需的设置包括名称 (ID) 和一个或多个 URL 主机。

还须指定 MIME 类型文件。MIME 类型文件包含文件扩展名到文件类型的映射。例如,在 MIME 类型文件中可以指定将所有扩展名为 .cgi 的文件作为 CGI 文件处理。

无需为每个虚拟服务器创建单独的 MIME 类型文件。而是根据需要创建多个 MIME 类型文件,并将它们与虚拟服务器关联。默认的 MIME 类型文件称作 mime1,且文件名为 mime.types

有关 MIME 类型文件的详细信息,请参见“配置 MIME 类型”

可选的常规设置

除必需字段以外,还可以设置可选字段。

HTTP 监听器

HTTP 监听器可处理到虚拟服务器的连接。必须指定一个 HTTP 监听器,远程客户机才能访问虚拟服务器。

ACL

应用于虚拟服务器的访问控制列表 (ACL)。有关详细信息,请参见《Sun ONE Application Server Administrator's Guide to Security》。

接受语言标题

客户机在使用 HTTP 1.1 与服务器进行通信时可以发送用于描述接受的语言的标题信息。可以对服务器进行配置以分析此语言信息。

例如,如果存储日文和英文文档,则可以选择分析接受语言标题。如果客户机将日文用作接受语言标题与服务器进行通信,它们将接收到日文版的页面。如果客户机将英文用作接受语言标题与服务器进行通信,它们将接收到英文版的页面。

如果不支持多语言,则不应分析接受语言标题。

状态

此状态是虚拟服务器的状态,与应用程序服务器实例处于“On”还是“Off”状态无关。如果此页面中显示的虚拟服务器的状态为"On",则虚拟服务器只能接受请求(如果应用程序服务器实例也处于"On"状态)。

这对于默认应用程序服务器实例的默认虚拟服务器也同样适用。如果关闭应用程序服务器实例,默认虚拟服务器仍设置为“On”,但不会接受任何连接。

有效状态为“On”、“Off”或“Disabled”。设置为“On”的虚拟服务器可接受连接。

您不能关闭或禁用应用程序服务器实例的默认虚拟服务器。

日志文件

日志文件(也称作服务器日志文件)用于记录提示性信息和错误。访问日志文件用于记录对虚拟服务器的 HTTP 访问。

文档根目录

文档根目录(有时称作主文档目录)是包含所有要提供给远程客户机的虚拟服务器文件的中心目录。有关详细信息,请参见“文档根目录”

Web 应用程序设置

Web 应用程序是 Servlet、JavaServer Page、HTML 文档和其它 Web 资源(可能包括图像文件、压缩的归档文件和其它数据)的集合。Web 应用程序可以打包至一个归档文件(WAR 文件)中,也可存在于打开的目录结构中。

Sun ONE Application Server 7 支持 Servlet 2.3 API 规范,该规范允许在 Web 应用程序中包含 Servlet 和 JSP。此外,Sun ONE Application Server 7 还支持非 J2EE 应用程序组件 SHTML 和 CGI。

创建虚拟服务器时,可为虚拟服务器指定一个默认 Web 模块。默认 Web 模块可响应所有无法解析为其它已部署到虚拟服务器的 Web 模块的请求。如果不指定默认 Web 模块,系统将使用包含空上下文根的 Web 模块。如果不存在包含空上下文根的 Web 模块,系统将创建并使用默认 Web 模块。

部署 Web 应用程序时,应指定一个虚拟服务器。部署后的 Web 应用程序将显示在可用 Web 模块(可将这些模块选作虚拟服务器的默认 Web 模块)列表中。将 Web 模块指定为虚拟服务器的默认 Web 模块时,虚拟服务器将自动添加到虚拟服务器的 Web 应用程序列表中。

CGI 设置

创建虚拟服务器时创建的 CGI 设置可以控制用户和组(CGI 程序运行时的身份)、执行 CGI 之前要更改为的目录 (chroot) 和在执行 chroot 后更改为的目录。

在 UNIX 上还可以设置精度,即一个用于确定 CGI 程序相对于服务器优先级的增量。通常,服务器在精度值为 0 的情况下运行,精度增量在 0(CGI 程序与服务器在同一优先级下运行)到 19(CGI 程序的运行优先级比服务器低很多)之间。

服务设置的 HTTP 质量

服务质量是指为虚拟服务器设置的性能限制。例如,ISP 可能会根据虚拟服务器允许使用的带宽收取不同数额的费用。这些设置既可以被强制执行(即只允许使用指定的带宽和最大数目的连接),也可以不被强制执行。如果未强制执行设置,则当超出限制时,系统将向日志文件中记录一个信息。有关详细信息,请参见“使用 CLI 管理事务服务”

除了可以通过管理界面更改这些设置以外,还可以使用命令行界面的 asadmin 公用程序。要使用命令行界面的 asadmin 公用程序配置服务质量,请使用以下命令:

  • create-http-qos
  • delete-http-qos

这些命令的语法如下:

asadmin create-http-qos --user username [--password password] [--host hostname] [--port adminport] [--secure | -s] [--passwordfile file_name] [--virtualserver virtual_server_id] [--bwlimit bandwidth_limit] [--enforcebwlimit enforce_bandwidth_limit] [--connlimit connection_limit] [--enforceconnlimit enforce_connection_limit] instance_name

asadmin delete-http-qos --user username [--password password] [--host hostname] [--port adminport] [--secure | -s] [--passwordfile file_name] [--virtualserver virtual_server_id] instance_name

如果指定一个虚拟服务器,则这些命令将创建或删除此虚拟服务器的服务质量信息。如果不指定虚拟服务器,则此命令将影响服务器实例。

有关命令语法的详细信息,请参见命令行界面帮助。有关 asadmin 用法的详细信息,请参见“使用命令行界面”

编辑虚拟服务器设置

设置虚拟服务器后,即可对其进行编辑。有关编辑虚拟服务器设置的信息,请参见以下主题:

使用管理界面编辑常规设置

可以在创建虚拟服务器时设置虚拟服务器的常规设置。要更改这些设置,请执行以下步骤:

  1. 在左侧窗格的应用程序服务器实例中,打开“HTTP Server”。
  2. 打开“Virtual Servers”。
  3. 单击要编辑的虚拟服务器。
  4. 进行所需的更改。
  5. 可以更改的内容包括服务质量设置、添加 ACL、与内容相关的设置(例如文档根目录和接受语言标题)、与 CGI 相关的设置(例如用户、组、精度和 chroot 设置)和默认的 Web 模块。

  6. 单击“Save”。

有关其中某些设置的详细信息,请参见“创建和配置虚拟服务器”。或参见联机帮助。

使用命令行界面编辑常规设置

也可以使用命令行界面中的 asadmin 公用程序编辑这些设置。使用 get 命令获取当前设置,并使用 set 命令将其设置为新值。

要获取虚拟服务器的所有属性,请使用以下语法:

asadmin> get instance_name.virtual-server.vserver_id.*

例如:

asadmin> get server1.virtual-server.vs1.*

如果要获取应用程序服务器实例 server1 的所有属性,请使用以下语法:

asadmin> get server1.virtual-server.server1.*

要设置某个属性(例如,接受语言标题),请使用以下语法:

asadmin> set server1.virtual-server.server1.virtualserver.acceptLanguage=false



注意

可以使用命令行界面设置“General”页面上所有字段的值。但是,您不能使用命令行界面设置其它选项卡页面(例如 CGI 选项卡页面)的字段值。



有关命令语法的详细信息,请参见命令行界面帮助。有关 asadmin 用法的详细信息,请参见“使用命令行界面”

编辑 CGI 设置

有关编辑 CGI 的信息,请参见《Sun ONE Application Server Developers Guide to Web Applications》。

编辑文档处理设置、文档目录设置和 HTTP/HTML 设置

有关更改这些设置的信息,请参见“管理虚拟服务器内容”

删除虚拟服务器

删除虚拟服务器的步骤:

  1. 在管理界面左侧窗格的应用程序服务器实例中,打开“HTTP Server”。
  2. 单击“Virtual Servers”。
  3. 单击要删除的虚拟服务器旁边的复选框。
  4. 单击“Delete”。
  5. 不能使用管理界面删除所有虚拟服务器。

要使用命令行界面删除虚拟服务器,请使用 asadmin 公用程序的 delete-virtual-server 命令。

用法如下:

asadmin delete-virtual-server --user username [--password password] [--host hostname] [--port adminport] [--secure | -s] [--passwordfile file_name] --instance instance virtualserver_id

有关命令语法的详细信息,请参见命令行界面帮助。有关 asadmin 用法的详细信息,请参见“使用命令行界面”

部署虚拟服务器

Sun ONE Application Server 的虚拟服务器体系结构非常灵活。应用程序服务器实例可以拥有任意数量的 HTTP 监听器(安全的和不安全的)。可以将任意数量的虚拟服务器与这些 HTTP 监听器关联。您既可以使用基于 IP 地址的虚拟服务器,也可以使用基于 URL 主机的虚拟服务器。

每个虚拟服务器都可以(而非必须)拥有自己的 ACL 列表、mime.types 文件和 Java Web 应用程序集。

此设计提供了最大的灵活性,使您可以为各种应用程序配置服务器。以下示例介绍了一些适用于 Sun ONE Application Server 的可能配置。

示例 1:默认配置

默认配置是一个应用程序服务器实例。它只使用一个 HTTP 监听器监听计算机配置的任何 IP 地址的端口 80、1024 或所选的任何端口。

本地网络中的某些机制为计算机配置的每个地址都建立了名称-地址映射。以下示例中的计算机有两个网络接口:地址 127.0.0.1 上的回送接口(即使在没有网卡的情况下仍然存在的接口)和地址 10.0.0.1 上的以太网接口。

名称 example.com 通过 DNS 映射为 10.0.0.1。HTTP 监听器配置为监听计算机配置的任何地址的端口 80 ("0.0.0.0:80")。

由于默认配置中没有基于 IP 地址的虚拟服务器,因此默认监听器是唯一的 HTTP 监听器。所有连接都传送到虚拟服务器 server1。

   默认配置
此图显示了应用程序服务器实例的默认虚拟服务器配置。其中只有一个 HTTP 监听器和一个虚拟服务器。

在此配置中,到以下地址的连接将到达服务器并由虚拟服务器 VS1 处理。

  • http://127.0.0.1/(在 example.com 上启动)
  • http://localhost/(在 example.com 上启动)
  • http://example.com/
  • http://10.0.0.1/

此配置适用于传统的 HTTP 服务器。无需添加附加的虚拟服务器或 HTTP 监听器。通过更改 server1 的设置配置服务器的设置。

示例 2:安全服务器

如果要在默认配置中使用 SSL,只需将 HTTP 监听器更改为安全模式。

还可以添加一个为 0.0.0.0:443 配置的新的安全 HTTP 监听器。虚拟服务器现在有两个 HTTP 监听器,其中一个使用安全 HTTP 监听器,另一个则不使用。现在,服务器将提供同时具有或不具有 SSL 的相同内容,也就是说 http://example.com/ 和 https://example.com/ 提供相同的内容。

   安全服务器
此图显示了服务器实例的安全服务器配置,该实例使用两个 HTTP 监听器(一个是安全的,另一个是不安全的)和一个虚拟服务器。

请注意,SSL 参数被附加到 HTTP 监听器。

示例 3:内部网宿主

一个更复杂的 Sun ONE Application Server 配置是服务器在内部网部署中支持几个虚拟服务器。例如,假设您有三个内部站点,员工可在这些站点中查找其他用户的电话号码、查看校园地图以及跟踪发送到信息服务部门的请求的状态。以前(在本示例中),这些站点以三个不同的计算机为宿主,这些计算机映射为名称 phone.example.com、maps.example.com 和 is.example.com。

为了将硬件和管理开销减少到最低程度,用户希望将这三个站点合并为计算机 example.com 上的一个应用程序服务器。可以使用以下两种方法进行此设置:使用基于 URL 主机或基于 IP 地址的虚拟服务器。两者都有明显的优点和缺点。

   使用基于 URL 主机的虚拟服务器的内部网宿主
此图显示了基于 URL 主机的虚拟服务器。

尽管基于 URL 主机的虚拟服务器易于设置,但它们具有以下缺点:

  • 在此配置中支持 SSL 需要使用通配符证书进行非标准设置。有关详细信息,请参见《Sun ONE Application Server Administrator's Guide to Security》。
  • 基于 URL 主机的虚拟服务器不能与传统的 HTTP 客户机一起使用。

基于 IP 地址的虚拟服务器的优点包括:

  • 它们可以与不支持 HTTP/1.1 Host 标题的旧客户机一起使用。
  • 提供 SSL 支持比较简便。

缺点包括:

  • 它们要求更改主机上的配置(实际或虚拟网络接口的配置)。
  • 它们不能缩放至具有上千个虚拟服务器的配置。

两种配置都要求为三种名称设置名称-地址映射。在基于 IP 地址的配置中,每个名称都映射为不同的地址。必须对主机进行设置,才能接收所有这些地址上的连接。在基于 URL 主机的配置中,所有名称都可以映射为同一地址(计算机最初具有的地址)。

   使用基于 IP 地址的虚拟服务器的内部网宿主
此图显示了基于 IP 地址的虚拟服务器。

示例 4:海量宿主

海量宿主是一个可以启用许多低通信量虚拟服务器的配置。例如,ISP(承载许多低通信量的个人主页)便属于海量宿主。虚拟服务器通常基于 URL 主机。

   海量宿主
此图显示了使用一个 HTTP 监听器和许多基于 URL 主机的虚拟服务器的海量宿主。

注意,默认虚拟服务器 server1 仍然存在。


上一个      目录      索引      下一个     
Copyright 2003 Sun Microsystems, Inc. All rights reserved.