<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>marine_chen</title>
    <description></description>
    <link>http://marine-chen.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>配置WebLogic Server集群</title>
        <author>marine_chen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://marine-chen.javaeye.com">marine_chen</a>&nbsp;
          链接：<a href="http://marine-chen.javaeye.com/blog/113544" style="color:red;">http://marine-chen.javaeye.com/blog/113544</a>&nbsp;
          发表时间: 2007年08月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div align="left">下面为网上文章.现总结一下自己配置时遇到的一些问题的解决方案:<br />
<br />
1.集群的概念是这样的,先建立管理服务器,跟据下面的图就可以建起来.这个不难,接下来就是建立受理服务器,受理服务器可以建立一到多台,也可以跟据下面的图建立起来,不管是远程的还是本地的都可以建起来.接下来就是启动管理服务器了,这个不难,再就是启动代理服务器了,这个比较难理解.在启动代理服务器以前先讲二点,一就是管理服务器启动以后不能部署应用程序(我是这么理解的,不确定)要想部署应用就一定得建一个代理服务器,不管是在一台机子上还是在多台电脑上,都行.二启动了管理服务器就可以进入控制台,在控制台上可以新建受理服务器,如果要在管理服务器上建受理服务器就可以直接部署应用了.如果是别的计算机上面则还没试,`接下来就是代理服务器的启动,启动的domain文件我是从服务器上拷贝过来.启动是在运行打上CMD也就是在dos控制台下输入.D:\bea\user_projects\domains\base_domain\bin&gt;下启动startManagedWebLogic.cmd文件,后面带上 你在管理服务器上看到的代理的名称默认情况下为server-0,接着再打入<a href="http://192.168.0.131:7001/">http://192.168.0.131:7001</a>就可以看到启动了.</div>
<div align="center">（本文讲述如何在<span>WebLogic Server 8.1上配置集群，以及通过Proxy Server来访问集群）</span></div>
<div align="center">&nbsp;</div>
<div><strong><font size="6">预备知识</font></strong></div>
<div><strong><font size="6"></font></strong></div>
<div><strong><font size="5">什么是Domain和Server</font></strong></div>
<div><strong><font size="5"></font></strong></div>
<div><strong><font size="4">Domain</font></strong></div>
<div style="TEXT-INDENT: 21pt">Domain是WebLogic Server实例的基本管理单元。所谓Domain就是，由配置为Administrator Server的WebLogic Server实例管理的逻辑单元，这个单元是有所有相关资源的集合。</div>
<div style="TEXT-INDENT: 21pt"></div>
<div><strong><font size="4">Server</font></strong></div>
<div style="TEXT-INDENT: 21pt">Server是一个相对独立的，为实现某些特定功能而结合在一起的单元。</div>
<div style="TEXT-INDENT: 21pt"></div>
<div><strong><font size="5">Domain and Server的关系</font></strong></div>
<div style="TEXT-INDENT: 21pt">一个Domain 可以包含一个或多个WebLogic Server实例，甚至是Server集群。一个Domain中有一个且只能有一个Server 担任管理Server的功能，其它的Server具体实现一个特定的逻辑功能。</div>
<div style="TEXT-INDENT: 21pt"></div>
<div><strong><font size="6">本文环境</font></strong></div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>平台：Windows 2000</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>软件：Bea WebLogic Server 8.1 SP2</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"></div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"></div>
<div><strong><font size="6">配置WebLogic Server集群</font></strong></div>
<div><strong><font size="6"></font></strong></div>
<div><strong><font size="5">WebLogic集群的体系结构</font></strong></div>
<div><strong><font size="5"></font></strong></div>
<div><strong><font size="4">单层混合型的集群架构（Cluster）</font></strong></div>
<div style="TEXT-INDENT: 21pt">这种架构将所有的Web应用以及相关的服务应用全部置于集群中的单一WLS实例中，这种架构的优势在于：</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>易于管理</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>灵活的负载平衡机制</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>更强的安全控制</div>
<div align="center"><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/134951062d284066846d426790d46552.jpg" alt="" /></div>
<div><strong><font size="4">多层结构的集群架构（Cluster）</font></strong></div>
<div style="TEXT-INDENT: 21pt">这种架构使用两个WLS集群，一个放置表静态内容和集群Servlet，另一个放置集群EJB。一般应用于下面这些情况：</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>在负载平衡机制需要调用集群EJB中的方法时；</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>在提供内容与提供对象的服务之间需要更大的机动性时；</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>在需要更高的系统稳定性时；</div>
<div align="center"><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/a50902c784ed4d6fb184364792e46f04.jpg" alt="" /></div>
<div><strong><font size="5">配置集群应用的必要条件</font></strong></div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>集群中的所有Server必须位于同一网段，并且必须是IP广播(UDP)可到达的</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>集群中的所有Server必须使用相同的版本,包括Service Pack</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>集群中的Server必须使用永久的静态IP地址。动态IP地址分配不能用于集群环境。如果服务器位于防火墙后面，而客户机位于防火墙外面，那么服务器必须有公共的静态IP地址，只有这样，客户端才能访问服务器</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>要以CLUSTER方式运行，必须有包含CLUSTER许可的LICENSE才行（从Bea网站上下载的试用版本就可以进行Cluster配置）</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"></div>
<div><strong><font size="5">配置前的准备工作</font></strong></div>
<div style="TEXT-INDENT: 21pt">在配置集群应用前要对集群的配置信息有一个良好的设计，下面就是我们这次配置的集群信息：</div>
<div style="TEXT-INDENT: 21pt">在同一台机器上配置集群</div>
<div align="center">
<table cellspacing="1" border="1" width="95%" cellpadding="0" style="WIDTH: 95%">
    <tbody>
        <tr>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; BACKGROUND: rgb(223,223,223) 0% 50%; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
            <div align="center" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">机器类型</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; BACKGROUND: rgb(223,223,223) 0% 50%; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
            <div align="center" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">操作系统</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; BACKGROUND: rgb(223,223,223) 0% 50%; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
            <div align="center" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">硬件配置</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; BACKGROUND: rgb(223,223,223) 0% 50%; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
            <div align="center" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">角色</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; BACKGROUND: rgb(223,223,223) 0% 50%; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
            <div align="center" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">备注</span></div>
            </td>
        </tr>
        <tr>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">DELL PC</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Win2000 Professional</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">IP:</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">10.16.92.33</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">PORT</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">:7080</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Administrator Server</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%">&nbsp;</div>
            </td>
        </tr>
        <tr>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">DELL PC</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Win2000 Professional</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">IP:</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">10.16.92.33</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">PORT</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">:8080</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Proxy Server</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%">&nbsp;</div>
            </td>
        </tr>
        <tr>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">DELL PC</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Win2000 Professional</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">IP:</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">10.16.92.33</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">PORT</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">:7082</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Managed Server</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%">&nbsp;</div>
            </td>
        </tr>
        <tr>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">DELL PC</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Win2000 Professional</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">IP:</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">10.16.92.33</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">PORT</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">:7084</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Managed Server</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%">&nbsp;</div>
            </td>
        </tr>
        <tr>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">DELL PC</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Win2000 Professional</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">IP:</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">10.16.92.33</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">PORT</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">:7086</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Managed Server</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%">&nbsp;</div>
            </td>
        </tr>
    </tbody>
</table>
</div>
<div style="TEXT-INDENT: 21pt">在同一网段内的不同机器上配置集群</div>
<div align="center">
<table cellspacing="1" border="1" width="95%" cellpadding="0" style="WIDTH: 95%">
    <tbody>
        <tr>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; BACKGROUND: rgb(223,223,223) 0% 50%; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
            <div align="center" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">机器类型</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; BACKGROUND: rgb(223,223,223) 0% 50%; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
            <div align="center" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">操作系统</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; BACKGROUND: rgb(223,223,223) 0% 50%; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
            <div align="center" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">硬件配置</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; BACKGROUND: rgb(223,223,223) 0% 50%; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
            <div align="center" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">角色</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; BACKGROUND: rgb(223,223,223) 0% 50%; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
            <div align="center" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">备注</span></div>
            </td>
        </tr>
        <tr>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">DELL PC</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Win2000 Server</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">IP:</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">10.16.92.7</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">PORT</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">:7080</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Administrator Server</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%">&nbsp;</div>
            </td>
        </tr>
        <tr>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">DELL PC</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Win2000 Server</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">IP:</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">10.16.92.7</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">PORT</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">:8080</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Proxy Server</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%">&nbsp;</div>
            </td>
        </tr>
        <tr>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">DELL PC</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Win2000 Server</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">IP:</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">10.16.92.7</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">PORT</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">:7082</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Managed Server</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%">&nbsp;</div>
            </td>
        </tr>
        <tr>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">DELL PC</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Win2000 Server</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">IP:</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">10.16.92.33</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">PORT</span><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">:7084</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%"><span style="FONT-SIZE: 9pt; COLOR: rgb(51,51,51); LINE-HEIGHT: 160%">Managed Server</span></div>
            </td>
            <td style="PADDING-RIGHT: 1.5pt; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; PADDING-TOP: 1.5pt">
            <div align="left" style="LINE-HEIGHT: 160%">&nbsp;</div>
            </td>
        </tr>
    </tbody>
</table>
</div>
<div><strong><font size="5"></font></strong></div>
<div><strong><font size="5">使用Domain Configuration Wizard进行配置</font></strong></div>
<div><strong><font size="4">创建新的Domain</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>选择&ldquo;Create a new WebLogic configuration&rdquo;，单击&ldquo;Next&rdquo;按钮</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/64aea1f2be934f5db866cb52d7923962.jpg" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">选择安装类型</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>选择安装&ldquo;Basic WebLogic Server Domain&rdquo;，单击&ldquo;Next&rdquo;按钮</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/d0d03fb3fcb549b38ad44fdc13fb2821.jpg" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">选择定制安装</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>选择&ldquo;Custom&rdquo;安装，单击&ldquo;Next&rdquo;按钮</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/2b1f84302afd4485aad47700749082f5.jpg" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">输入Administrator Server的信息</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>输入Administrator Server的名称，监听地址，监听端口，如果需要SSL支持的话可以在&ldquo;SSL enabled&rdquo;后面的复选取框上打勾，配置SSL监听端口，单击&ldquo;Next&rdquo;按钮</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/da90cda687e446678c907badfb25cc7c.jpg" alt="" /></div>
<div>&nbsp;</div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">是否配置Server、Cluster、Machine信息</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>选择&ldquo;Yes&rdquo;，对Server、Cluster、Machine信息进行配置，，单击&ldquo;Next&rdquo;按钮</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/3a49cff0056243ffb211e7cac07c6ff4.jpg" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">配置Managed Server信息</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>输入Managed Server的名称，监听地址，监听端口，如果需要SSL支持的话，可以在&ldquo;SSL enabled&rdquo;复选框上打勾，配置SSL监听端口。可以配置多个Managed Server。单击&ldquo;Next&rdquo;按钮</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/88c9098fb2404999b11f6f48c018c4b5.jpg" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">配置Cluster信息</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>输入Cluster的名称，Cluster的组播地址和端口，Cluster地址可输可不输。单击&ldquo;Next&rdquo;按钮</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/cb176dbf78754dfcb357b05a38e32e20.jpg" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">将Managed Server添加到Cluster中</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>选择左面列表中的Managed Server，将其添加到右面的列表中，单击&ldquo;Next&rdquo;按钮</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/e2a1ec4d1e91413395ff653064a28f37.jpg" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">配置Machine信息</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>在此不对Machine进行配置，单击&ldquo;Next&rdquo;按钮</div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">是否配置JDBC信息</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>在此不对JDBC数据源和连接池进行配置，单击&ldquo;Next&rdquo;按钮</div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">配置JMS信息</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>在此不对JMS进行配置，单击&ldquo;Next&rdquo;按钮</div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">配置缺省系统管理员用户名和密码</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>输入系统管理员用户名和密码，还可以配置其它的系统管理用户，在此不做配置，单击&ldquo;Next&rdquo;按钮</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/3c9d48f873c54a6d85c0ddcba7beb2e8.jpg" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">配置Windows附加选项</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>可以选择是否创建开始菜单中的快捷方式，是否将该服务作为Windows系统服务，在这里我们全部选择&ldquo;No&rdquo;，单击&ldquo;Next&rdquo;按钮</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/97b8f10b7e61494e9026f1d9d7857e1a.jpg" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">配置服务的启动模式并选择Java SDK</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>选择&ldquo;Development Mode&rdquo;模式，并选择标准的Java SDK 1.4，在开发模式下会有比较丰富的调试信息，对我们很有帮助，单击&ldquo;Next&rdquo;按钮</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/6e175bc67f6e4b48bcc345d66e1f1c0c.jpg" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">配置信息确认以及选择安装路径</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>系统列出您的配置信息，并指定了缺省的安装路径（D:\bea\user_projects\domains\mydomain），在此我们将安装路径定位在D:\bea\user_projects\clusterdomain，单击&ldquo;Create&rdquo;按钮</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/c818fbb545334ed281f9027a58e1a840.jpg" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">系统创建Domain</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>系统根据配置信息，完成缺省的目录及文件的创建</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/adf77010392241afa15f7b4270bee1f7.jpg" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">启动WebLogic服务</font></strong></div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>启动Administrator Server</div>
<div style="MARGIN-LEFT: 21pt">使用startWebLogic命令启动Administrator Server</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/82d8fbc10e6b4b66921da72e58be17b6.jpg" alt="" /></div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>启动Managed Server</div>
<div style="MARGIN-LEFT: 21pt">使用startManagedWeblogic命令启动Managed Server，它的命令格式是：</div>
<div style="MARGIN-LEFT: 21pt"><span style="COLOR: blue">startManagedWeblogic.cmd</span> <span style="COLOR: red">Managed Server</span><span style="COLOR: red">的名称</span> <span style="COLOR: green">Administrator Server</span><span style="COLOR: green">地址</span></div>
<div style="MARGIN-LEFT: 21pt">同理可以启动nodeB和nodeC，以及Proxy Server</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/d9e0c6415b784f9996bad26e1a7d713d.jpg" alt="" /></div>
<div><strong><font size="5"></font></strong></div>
<div><strong><font size="5">通过HttpClusterServlet实现请求的自动分发处理</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpClusterServlet</span>通过一个WebLogic服务器代理对WebLogic集群中的其他服务器成员的HTTP请求， 同时HttpClusterServlet还为代理的HTTP请求提供负载平衡与容错处理。</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>实际上实现是很简单的，遵循下面几个步骤就可以轻松实现请求的自动分发功能：</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>创建一个代理Server（在此我们称这proxyServer）</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>生成配置文件web.xml</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>生成配置文件weblogic.xml</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>打包生成Web应用</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>在proxyServer上部署应用，并将该应用作为缺省的Web应用</div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">创建代理Server</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>启动Administrator Server，然后进入Console控制台（http://10.16.92.33:7080/console/），在此我们将代理Server与Administrator Server置于同一台主机之上。</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>进入console控制台后，在&ldquo;Server&rdquo;结点上单击右键，在弹出菜单上选择&ldquo;Configure a New Server&rdquo;，然后配置代理Server的相关信息。（在这里只要指定名称，监听地址，监听端口就可以了）</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/f5d75f0bb88742c9ad756268d88d65ea.jpg" alt="" /></div>
<div>&nbsp;</div>
<div style="TEXT-INDENT: 21pt"></div>
<div style="TEXT-INDENT: 21pt">HttpClusterServlet 的部署，主要是Servlet的声明和映射，并设置初始化参数，可以创建一个Web App，然后直接在web.xml中添加或在管理控制台上设置HttpClusterServlet的部署信息。最后将它发布给用来做代理的 Server，并将这个Web App设置为这个Server的缺省WEB应用。</div>
<div><strong><font size="4">web.xml文件示例</font></strong></div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/30f21cbac468435aaabf87397b4b4cfd.png" alt="" /></div>
<div><strong><font size="4">weblogic.xml文件示例</font></strong></div>
<div></div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/4388e3f09f7f4d178307c4002021ab2d.png" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">打包WEB应用</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>可以使用jar命令将proxy应用打包成war文件，我们建一个临时目录temp，然后在其中建立如下目录结构：</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/c3e21f41b79c472c8b02e845ed85d746.png" alt="" /></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>使用如下的命令操作，就可完成web应用的打包操作：</div>
<div style="TEXT-INDENT: 21pt"><span style="COLOR: blue">JAR &ndash;</span><span style="COLOR: blue">参数</span><span style="COLOR: blue"> WEB</span><span style="COLOR: blue">应用名称</span><span style="COLOR: blue">要打包的目录</span></div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/11a15e176ae24ec0a22b1f8360ecd1b5.png" alt="" /></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>当然我们也可以直接部署该目录，而无需打包，这在项目的开发阶段是很有帮助的，便于修改。</div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">部署proxy应用</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>启动Administrator Server，然后进入Console控制台（http://10.16.92.33:7080/console/），在此我们将代理Server与Administrator Server置于同一台主机之上。</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>进入console控制台后，在&ldquo;<span>Web Application Modules</span>&rdquo; 结点上单击右键，在弹出菜单上选择&ldquo;Deploy a new Web Application Module&rdquo;，然后选择要部署的文件或目录，单击&ldquo;Target Module&rdquo;按钮，然后选择&ldquo;proxyServer&rdquo;，单击&ldquo;Continue&rdquo;按钮，到了下一步，单击&ldquo;Deploy&rdquo;按钮，完成部署工作。</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>部署完成后，查看WEB应用的状态是&ldquo;FAILS&rdquo;，造成这种情况的原因是&ldquo;proxyServer&rdquo;还没有启动，我们可以通过下面的命令启动&ldquo;proxyServer&rdquo;：</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/f7a1738c83e14f2f9ec66996a76b71a7.png" alt="" /></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>然后点击&ldquo;ReDeploy&rdquo;，重新部署应用，状态值将变为&ldquo;Success&rdquo;。</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>将WEB应用配置成缺省的WEB应用，weblogic8.1与weblogic6.1有很大的不同，8.1不再支持从console控制台完成配置的工作，而是在weblogic.xml中通过下面的结点，完成配置的工作。</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;context-root&gt; / &lt;/context-root&gt;</span></div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/156c2fc672e7494795232115f5077e94.png" alt="" /></div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/8e8a942aee7d4d53b496f22143dc0f3d.png" alt="" /></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">测试proxy应用</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>修改web.xml文件，加入下面的结点，然后重启服务。</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;</span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;DebugConfigInfo&lt;/param-name&gt;</span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;ON&lt;/param-value&gt;</span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;</span></div>
<div style="TEXT-INDENT: 21pt">打开浏览器，访问下面的地址，会得到下图所示的结果，这就说明你的配置是成功的。</div>
<div style="MARGIN-LEFT: 21pt">http://myserver:port/placeholder.jsp? __WebLogicBridgeConfig</div>
<div style="MARGIN-LEFT: 21pt">myserver为服务地址（在这里是10.16.92.7）</div>
<div style="MARGIN-LEFT: 21pt">port为proxy服务的端口（在这里是8080）</div>
<div style="MARGIN-LEFT: 21pt">placeholder.jsp（这是一个不存在的JSP文件，您也可以随意指定文件名）</div>
<div style="MARGIN-LEFT: 21pt">__WebLogicBridgeConfig（这个可千万不能写错呦！）</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/5bdedf4a20a24fa883603865dca5c2e3.png" alt="" /></div>
<div><strong><font size="5"></font></strong></div>
<div><strong><font size="5">测试集群的分发功能</font></strong></div>
<div><strong><font size="4"></font></strong></div>
<div><strong><font size="4">编写测试WEB应用并部署</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>我们来编写一个简单的WEB应用，它会在控制台和浏览器上同时打印出&ldquo;OK&rdquo;字样，然后将这个WEB应用部署到集群中所有Managed Server上面。（代码见附件）</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>在这里我们将通过Apache中所带的ab包来进行并发访问的模拟测试，使用如下的命令就可以完成压力测试。</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ab &ndash;n 100 &ndash;c 10 <a href="http://10.16.92.7:8080/index.jsp"><u><font color="#0000ff">http://10.16.92.7:8080/index.jsp</font></u></a></span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ab</span>是测试程序的名称</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>参数n代表请求的总数量</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>参数c代表并发的请求数</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; url</span>为要测试压力的页面</div>
<div>注：使用这个命令时，一定要在系统路径中能够找到该程序，否则不能执行。</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>压力测试完成后，我们从Managed Server的控制台上可以看到，nodeA，nodeB，nodeC都打印出了&ldquo;OK&rdquo;字样，这说明，在并发请求的情况下，集群能够将请求进行分发，以达到负载平衡的目的。</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>测试应用的目录结构如下，部署与proxy应用的部署一样，要注意的是要将它部署在Managed Server上面。</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/9a8a016469b24cbab117b7943d189be0.png" alt="" /></div>
<div><strong><font size="5"></font></strong></div>
<div><strong><font size="5">同一网段内不同机器部署集群</font></strong></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>在不同机器上部署集群与上面的操作有一些不同，就是在部署&ldquo;Managed Server&rdquo;时，要注意的是，参见下面的图解。</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/bf825f3375dd462e90114127f7ede74c.png" alt="" /></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>在另外一台机器上配置&ldquo;Managed Server&rdquo;时，要指定&ldquo;Admin Server&rdquo;的名称，监听地址，监听端口。</div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/e0304bac0e3042298927c0dd194d1805.png" alt="" /></div>
<div><span></span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>另外要注意的是，&ldquo;Managed Server&rdquo;上的配置信息要与&ldquo;Admin Server&rdquo;中Cluster所指定的配置信息一致。</div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>启动&ldquo;Managed Server&rdquo;的命令与上面的一样，如下所示：</div>
<div></div>
<div><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/aqiao95/0d440d00dd0449b5b957062623dfaec4.png" height="182" alt="" style="WIDTH: 750px; HEIGHT: 56px" width="750" /></div>
<div><strong><font size="5"></font></strong></div>
<div><strong><font size="5">集群配置中要注意的问题</font></strong></div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Admin Server只用于集群的管理，而不能参与集群事务。</div>
<div style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><span>&Oslash;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Web应用应该部署到集群上，文件的同步是由WebLogic来完成的。</div>
          <br/>
          <span style="color:red;">
            <a href="http://marine-chen.javaeye.com/blog/113544#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 17 Aug 2007 16:31:27 +0800</pubDate>
        <link>http://marine-chen.javaeye.com/blog/113544</link>
        <guid>http://marine-chen.javaeye.com/blog/113544</guid>
      </item>
      <item>
        <title>Apache模块 core</title>
        <author>marine_chen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://marine-chen.javaeye.com">marine_chen</a>&nbsp;
          链接：<a href="http://marine-chen.javaeye.com/blog/108919" style="color:red;">http://marine-chen.javaeye.com/blog/108919</a>&nbsp;
          发表时间: 2007年08月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div id="page-content">
<div id="preamble">
<h1>Apache模块 core</h1>
<table class="module">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/module-dict.html#Description">说明:</a></th>
            <td>Apache HTTP 服务器提供的核心功能</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/module-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
    </tbody>
</table>
</div>
<div id="quickview">
<h3 class="directives">指令索引</h3>
<ul id="toc">
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#acceptpathinfo">AcceptPathInfo</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#accessfilename">AccessFileName</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#adddefaultcharset">AddDefaultCharset</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#addoutputfilterbytype">AddOutputFilterByType</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#allowoverride">AllowOverride</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#authname">AuthName</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#authtype">AuthType</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#cgimapextension">CGIMapExtension</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#contentdigest">ContentDigest</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#defaulttype">DefaultType</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#directory">&lt;Directory&gt;</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#documentroot">DocumentRoot</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#enablemmap">EnableMMAP</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#errordocument">ErrorDocument</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#errorlog">ErrorLog</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#fileetag">FileETag</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#files">&lt;Files&gt;</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#filesmatch">&lt;FilesMatch&gt;</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#forcetype">ForceType</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#hostnamelookups">HostnameLookups</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#identitycheck">IdentityCheck</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#ifdefine">&lt;IfDefine&gt;</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#ifmodule">&lt;IfModule&gt;</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#include">Include</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#keepalive">KeepAlive</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#keepalivetimeout">KeepAliveTimeout</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#limit">&lt;Limit&gt;</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#limitexcept">&lt;LimitExcept&gt;</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#limitrequestbody">LimitRequestBody</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#limitrequestfields">LimitRequestFields</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#limitrequestfieldsize">LimitRequestFieldSize</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#limitrequestline">LimitRequestLine</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#location">&lt;Location&gt;</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#locationmatch">&lt;LocationMatch&gt;</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#loglevel">LogLevel</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#namevirtualhost">NameVirtualHost</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#options">Options</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#require">Require</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#rlimitcpu">RLimitCPU</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#rlimitmem">RLimitMEM</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#rlimitnproc">RLimitNPROC</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#satisfy">Satisfy</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#scriptinterpretersource">ScriptInterpreterSource</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#serveradmin">ServerAdmin</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#serveralias">ServerAlias</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#servername">ServerName</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#serverpath">ServerPath</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#serverroot">ServerRoot</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#serversignature">ServerSignature</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#servertokens">ServerTokens</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#sethandler">SetHandler</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#setinputfilter">SetInputFilter</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#setoutputfilter">SetOutputFilter</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#timeout">TimeOut</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#usecanonicalname">UseCanonicalName</a> </li>
    <li><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/down.gif" alt="" /> <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#virtualhost">&lt;VirtualHost&gt;</a> </li>
</ul>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo" id="acceptpathinfo">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>接受附加路径名信息</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>AcceptPathInfo On|Off|Default</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Default">默认值:</a></th>
            <td><code>AcceptPathInfo Default</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>服务器配置, 虚拟主机, 目录, .htaccess</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Override">覆盖项:</a></th>
            <td>FileInfo</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Compatibility">兼容性:</a></th>
            <td>Apache 2.0.30或更新版本</td>
        </tr>
    </tbody>
</table>
<p>此指令决定了是否接受包含在某确定文件（或是某现有目录的一个不存在的文件）后附加的路径信息。此路径信息将在脚本里以PATH_INFO环境变量的形式出现。</p>
<p>比如说，假设<code>/test/</code>所指向的目录下只包括一个文件：<code>here.html</code>。那么对<code>/test/here.html/more</code>和<code>/test/nothere.html/more</code>的请求都会得到<code>/more</code>这样的PATH_INFO变量。</p>
<p><code class="directive">AcceptPathInfo</code>指令的三个参数为：</p>
<dl><dt><code>off</code> </dt><dd>仅当一个请求映射到一个真实存在的路径时，它才会被接受。这样，如上述<code>/test/here.html/more</code>这样的在真实文件名后跟随一个路径名的请求将会返回一个404 NOT FOUND错误。 </dd><dt><code>on</code> </dt><dd>如果前面的路径映射到一个真实存在的文件，此请求将被接受。如果<code>/test/here.html</code>映射着一个有效的文件，上例中<code>/test/here.html/more</code>这个请求就会被接受。 </dd><dt><code>default</code> </dt><dd>对于附加路径名的请求的处理方式由其对应的<a href="http://www.uplinux.com/download/doc/apache/ApacheManual/handler.html">处理器</a>来决定。对应普通文本的核心处理器默认会拒绝PATH_INFO。而用于伺服脚本的处理器，比如<a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_cgi.html">cgi-script</a>和<a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_isapi.html">isapi-isa</a>，默认会接受PATH_INFO。 </dd></dl>
<p><code>AcceptPathInfo</code>指令存在的首要目的就是允许您覆盖处理器关于是否接受PATH_INFO的默认设置。这种覆盖是很必要的。比如说，当您使用了类似<a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_include.html">INCLUDES</a>这样的<a href="http://www.uplinux.com/download/doc/apache/ApacheManual/filter.html">过滤器</a>来根据PATH_INFO产生内容时。核心处理器通常会拒绝这样的请求，而您就可以用下述的配置使这样的脚本成为可能：</p>
<div class="example">
<p><code>&lt;Files &quot;mypaths.shtml&quot;&gt;<br />
Options +Includes<br />
SetOutputFilter INCLUDES<br />
AcceptPathInfo on<br />
&lt;/Files&gt; </code></p>
</div>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a> <a name="accessfilename" id="accessfilename">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>发布配置文件名</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>AccessFileName <em>文件名</em> [<em>文件名</em>] ...</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Default">默认值:</a></th>
            <td><code>AccessFileName .htaccess</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>服务器配置, 虚拟主机</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
    </tbody>
</table>
<p>当向客户端返回文档时，如果设置了此目录的发布配置文件功能。服务器将在这个文档的各个路径中从名字列表中查找第一个存在的配置文件。比如说：</p>
<div class="example">
<p><code>AccessFileName .acl </code></p>
</div>
<p>在返回文档<code>/usr/local/web/index.html</code>之前，服务器会为此指令读取<code>/.acl</code>，<code>/usr/.acl</code>，<code>/usr/local/.acl</code>和<code>/usr/local/web/.acl</code>除非此功能以为如下代码所禁用</p>
<div class="example">
<p><code>&lt;Directory /&gt;<br />
&nbsp;&nbsp;AllowOverride None<br />
&lt;/Directory&gt; </code></p>
</div>
<h3>参见</h3>
<ul>
    <li><code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#allowoverride">AllowOverride</a></code> </li>
    <li><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/configuring.html">配置文件</a> </li>
    <li><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/howto/htaccess.html">.htaccess文件</a> </li>
</ul>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a> <a name="adddefaultcharset" id="adddefaultcharset">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>在没有进行指定字符集的情况下向回应中加入的默认字符集</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>AddDefaultCharset On|Off|<em>字符集</em></code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Default">默认值:</a></th>
            <td><code>AddDefaultCharset Off</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>服务器配置, 虚拟主机, 目录, .htaccess</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Override">覆盖项:</a></th>
            <td>FileInfo</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
    </tbody>
</table>
<p>当回应信息中没有在HTTP头中没有包含任何关于内容类型的参数时，此指令将会指定一个字符集的名字并添加进去。这将覆盖在文档体中通过<code>META</code>标签指定的字符集。<code>AddDefaultCharset Off</code>这样的设置将会禁用此功能。<code>AddDefaultCharset On</code>将根据此指令的需要启用Apache内部的默认字符集&mdash;&mdash;<code>iso-8859-1</code>。您也可以指定使用另外一个<em>字符集</em>。 比如说：</p>
<div class="example">
<p><code>AddDefaultCharset utf-8 </code></p>
</div>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="AddOutputFilterByType" id="AddOutputFilterByType">AddOutputFilterByType</a> <a name="addoutputfilterbytype" id="addoutputfilterbytype">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>对特定的MIME类型指定输出过滤器</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>AddOutputFilterByType <var>过滤器</var>[;<var>过滤器</var>...] <var>MIME类型</var> [<var>MIME类型</var>] ...</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>服务器配置, 虚拟主机, 目录, .htaccess</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Override">覆盖项:</a></th>
            <td>FileInfo</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Compatibility">兼容性:</a></th>
            <td>存在于Apache 2.0.33及后继版本</td>
        </tr>
    </tbody>
</table>
<p>此指令根据回应的MIME类型对请求激活了特定的输出<a href="http://www.uplinux.com/download/doc/apache/ApacheManual/filter.html">过滤器</a>。</p>
<p>下例使用了由<code class="module"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_deflate.html">mod_deflate</a></code>提供的<code>DEFLATE</code>过滤器。它将把所有以<code>text/html</code>或<code>text/plain</code>为标记的输出（不论静态或动态）在发送到客户端之前进行压缩。</p>
<div class="example">
<p><code>AddOutputFilterByType DEFLATE text/html text/plain </code></p>
</div>
<p>如果您希望用不只一个过滤器来对内容进行处理，您可以用分号来分隔它们的名字。并对每个过滤器使用<code class="directive">AddOutputFilterByType</code>指令。</p>
<p>下述配置将使所有标记为<code>text/html</code>的脚本输出首先被<code>INCLUDES</code>过滤器处理然后被<code>DEFLATE</code>过滤器处理。</p>
<div class="example">
<p><code>&lt;Location /cgi-bin/&gt;<br />
<span class="indent">Options Includes<br />
AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
</span>&lt;/Location&gt; </code></p>
</div>
<div class="warning">
<h3>Note</h3>
<p>在某些情况下，用<code class="directive">AddOutputFilterByType</code>来使用过滤器会遭受部分或完全的失败。比如说，如果MIME类型不能确定，那么将不会有过滤器加于其上，从而使之回落到<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#defaulttype">DefaultType</a></code>的设置。甚至当<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#defaulttype">DefaultType</a></code>与其相同的时候也是这样。</p>
<p>然而，如果您想确认对某些资源相关的内容类型使用了过滤器，您可以使用用诸如<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_mime.html#addtype">AddType</a></code>或<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#forcetype">ForceType</a></code>这样的办法。在一个（non-nph）CGI脚本中设定内容类型也很妥当。</p>
<p>由类型决定的输出过滤器永远不会施用于来自代理的请求。</p>
</div>
<h3>参见</h3>
<ul>
    <li><code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> </li>
    <li><code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#setoutputfilter">SetOutputFilter</a></code> </li>
    <li><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/filter.html">filters</a> </li>
</ul>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a> <a name="allowoverride" id="allowoverride">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>允许存在于.htaccess文件中的指令类型</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>AllowOverride All|None|<em>指令类型</em> [<em>指令类型</em>] ...</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Default">默认值:</a></th>
            <td><code>AllowOverride All</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>目录</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
    </tbody>
</table>
<p>当服务器发现了一个.htaccess文件（由<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#accessfilename">AccessFileName</a></code>指定）时，它需要知道在这个文件中声明的哪些指令能覆盖在此之前指定的访问信息。</p>
<div class="note">
<h3>仅存在于&lt;Directory&gt;小节</h3>
<code class="directive">AllowOverride</code>仅在<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#directory">&lt;Directory&gt;</a></code>小节中才是有效的。在<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#location">&lt;Location&gt;</a></code>或<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#files">&lt;Files&gt;</a></code>小节中都是无效的。</div>
<p>如果此指令设置为<code>None</code>，那么.htaccess文件将被完全忽略。在这种情况下，服务器甚至都不会试着从文件系统读取.htaccess文件。</p>
<p>当此指令设置为<code>All</code>时，所有具有.htaccess <a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文</a>的指令都允许出现在.htaccess文件中。</p>
<p><em>directive-type</em>可以是下列各组指令之一：</p>
<dl><dt>AuthConfig </dt><dd>允许使用鉴权指令（<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#authname">AuthName</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#authtype">AuthType</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_auth.html#authuserfile">AuthUserFile</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#require">Require</a></code><em>等</em>）。 </dd><dt>FileInfo </dt><dd>允许使用控制文档类型指令（<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#defaulttype">DefaultType</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#errordocument">ErrorDocument</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#forcetype">ForceType</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#sethandler">SetHandler</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#setinputfilter">SetInputFilter</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#setoutputfilter">SetOutputFilter</a></code>，和<code class="module"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_mime.html">mod_mime</a></code>中的Add*和Remove*指令<em>等</em>）。 </dd><dt>Indexes </dt><dd>允许使用目录索引指令（<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_autoindex.html#adddescription">AddDescription</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_autoindex.html#addicon">AddIcon</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_autoindex.html#fancyindexing">FancyIndexing</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_autoindex.html#headername">HeaderName</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_autoindex.html#readmename">ReadmeName</a></code><em>等</em>）。 </dd><dt>Limit </dt><dd>允许使用主机访问控制指令（<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_access.html#allow">Allow</a></code>，<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_access.html#deny">Deny</a></code>和<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_access.html#order">Order</a></code>）。 </dd><dt>Options </dt><dd>允许使用控制指定目录功能指令（<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#options">Options</a></code>和<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_include.html#xbithack">XBitHack</a></code>）。 </dd></dl>
<p>例如：</p>
<div class="example">
<p><code>AllowOverride AuthConfig Indexes</code></p>
</div>
<h3>参见</h3>
<ul>
    <li><code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#accessfilename">AccessFileName</a></code> </li>
    <li><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/configuring.html">配置文件</a> </li>
    <li><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/howto/htaccess.html">.htaccess文件</a> </li>
</ul>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="AuthName" id="AuthName">AuthName</a> <a name="authname" id="authname">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>用于HTTP认证的的验证域</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>AuthName <em>auth-domain</em></code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>目录, .htaccess</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Override">覆盖项:</a></th>
            <td>AuthConfig</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
    </tbody>
</table>
<p>此指令为目录的验证域设置了名字。此域将发送给客户端以使用户了解应当发送哪个用户名和密码。<code class="directive">AuthName</code>指令带有一个参数。如果域的名字中包含空格，它必须用引号引起来。它必须与<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#authtype">AuthType</a></code>和<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#require">Require</a></code>指令以及诸如<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_auth.html#authuserfile">AuthUserFile</a></code>和<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code>这样的指令一起工作。</p>
<p>举例如下：</p>
<div class="example">
<p><code>AuthName &quot;Top Secret&quot;</code></p>
</div>
<p>提供给<code>AuthName</code>的字符串将出现在大多数浏览器提供的密码对话框中。</p>
<h3>参见</h3>
<ul>
    <li><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/howto/auth.html">认证，验证和访问控制</a> </li>
</ul>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="AuthType" id="AuthType">AuthType</a> <a name="authtype" id="authtype">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>用户验证的类型</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>AuthType Basic|Digest</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>目录, .htaccess</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Override">覆盖项:</a></th>
            <td>AuthConfig</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
    </tbody>
</table>
<p>此指令选择了一个目录的用户验证的类型。目前只实现了<code>Basic</code>和<code>Digest</code>。 它必须和<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#authname">AuthName</a></code>和<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#require">Require</a></code>指令以及诸如<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_auth.html#authuserfile">AuthUserFile</a></code>和<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code>这样的指令一起使用。</p>
<h3>参见</h3>
<ul>
    <li><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/howto/auth.html">认证，验证和访问控制</a> </li>
</ul>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a> <a name="cgimapextension" id="cgimapextension">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>定位CGI脚本解释器的技术</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>CGIMapExtension cgi-path .extension</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Default">默认值:</a></th>
            <td><code>None</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>目录, .htaccess</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Override">覆盖项:</a></th>
            <td>FileInfo</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Compatibility">兼容性:</a></th>
            <td>仅适用于NetWare</td>
        </tr>
    </tbody>
</table>
<p>此指令用于控制Apache发现CGI脚本的解释器。比如说<code>CGIMapExtension sys:\foo.nlm .foo</code>这样的设置将把所有具有.foo扩展名的CGI脚本文件传递给FOO解释器。</p>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a> <a name="contentdigest" id="contentdigest">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>启用HTTP回应头的Content-MD5的产生</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>ContentDigest on|off</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Default">默认值:</a></th>
            <td><code>ContentDigest off</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>服务器配置, 虚拟主机, 目录, .htaccess</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Override">覆盖项:</a></th>
            <td>Options</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
    </tbody>
</table>
<p>此指令遵照RFC1854和RFC2068协议定义启用了<code>Content-MD5</code>的生成。</p>
<p>MD5是一种为不定长度（arbitrary-length）的数据计算出一个&ldquo;消息摘要&rdquo;（有时也称为&ldquo;指纹&rdquo;）的算法。并且保证数据中的任何变化都会反应在message digest的变化当中。</p>
<p><code>Content-MD5</code>头提供了一种端到端的针对整个消息体的完整性检测方法。代理或者客户端会检查此头以侦测在传输过程中，消息体是否产生了意外的改变。一个头的例子如下：</p>
<div class="example">
<p><code>Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== </code></p>
</div>
<p>请注意，因为对于每个请求（没有对其值进行缓存）都要进行消息摘要的运算所以这会对您的服务器造成性能方面的问题。</p>
<p><code>Content-MD5</code>仅为由核心伺服的文档进行发送，而对于模块将不予理会。比如说SSI文档，CGI脚本的输出和字节范围的回应都不包括这个头。</p>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="DefaultType" id="DefaultType">DefaultType</a> <a name="defaulttype" id="defaulttype">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>在服务器无法由其他方法确定类型时，发送的默认MIME内容类型。</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>DefaultType <em>MIME类型</em></code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Default">默认值:</a></th>
            <td><code>DefaultType text/plain</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>服务器配置, 虚拟主机, 目录, .htaccess</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Override">覆盖项:</a></th>
            <td>FileInfo</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
    </tbody>
</table>
<p>有时会发生这样的事：服务器会被要求提供一个文档，而这个文档的类型无法由它的MIME类型映射所决定。</p>
<p>服务器必须通知客户端其文档的内容类型。所以当一个未知类型出现时，将会使用<code>DefaultType</code>。比如说：</p>
<div class="example">
<p><code><code>DefaultType image/gif</code> </code></p>
</div>
<p>这样的配置对于里面有很多gif图片而有些在文件名中缺少.gif扩展名的目录非常合适。</p>
<p>注意：与<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#forcetype">ForceType</a></code>指令的不同之处在于：此指令仅提供了默认的mime类型。所有其它mime类型的定义，包括文件的扩展名，或那些可以标识一种媒体类型的都会覆盖此默认值。</p>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="Directory" id="Directory">&lt;Directory&gt;</a> <a name="directory" id="directory">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>封装一组指令，使之仅对具有某个名字的文件系统目录及其子目录起作用。</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>&lt;Directory <em>目录路径</em>&gt; ... &lt;/Directory&gt;</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>服务器配置, 虚拟主机</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
    </tbody>
</table>
<p><code class="directive">&lt;Directory&gt;</code>和<code>&lt;/Directory&gt;</code>用于封装一组指令，使之仅对某个目录及其子目录生效。任何在目录上下文中可以使用的指令都允许在这种情况下使用。<em>Directory-path</em>可以为一个目录的完整路径，抑或是包含了Unix外壳匹配语法的通配符字串。在通配符字串中，&ldquo;?&rdquo;匹配任何单个的字符，&ldquo;*&rdquo;匹配任何字符序列。您也可以使用&ldquo;[]&rdquo;来确定字符范围。以上通配符都不能匹配&ldquo;/&rdquo;字符。所以<code>&lt;Directory /*/public_html&gt;</code>将无法匹配<code>/home/user/public_html</code>，但<code>&lt;Directory /home/*/public_html&gt;</code>能够正确匹配。比如说：</p>
<div class="example">
<p><code>&lt;Directory /usr/local/httpd/htdocs&gt;<br />
&nbsp;&nbsp;Options Indexes FollowSymLinks<br />
&lt;/Directory&gt;<br />
</code></p>
</div>
<div class="note">
<p>在使用<em>directory-path</em>参数的时候要注意：它们必须与Apache用于访问文件的文件系统路径保持一致。赋予特定&lt;Directory&gt;的指令将无法对通过不同路径指向的同一个目录文件生效，比如说通过另外一个符号连接生成的路径。</p>
</div>
<p>扩展的正则表达式也可以通过附加一个<code>~</code>字符来使用。比如说：</p>
<div class="example">
<p><code>&lt;Directory ~ &quot;^/www/.*/[0-9]{3}&quot;&gt; </code></p>
</div>
<p>将匹配/www/下的所有由3个数字组成的目录。</p>
<p>如果有多个（非正则表达式）directory配置段符合包含某文档的目录（或其父目录），那么指令将以最短目录最先应用的规则进行应用。并杂以<a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#accessfilename">.htaccess</a>文件中的指令。比如说在</p>
<div class="example">
<p><code>&lt;Directory /&gt;<br />
&nbsp;&nbsp;AllowOverride None<br />
&lt;/Directory&gt;<br />
<br />
&lt;Directory /home/&gt;<br />
&nbsp;&nbsp;AllowOverride FileInfo<br />
&lt;/Directory&gt; </code></p>
</div>
<p>中，访问文档<code>/home/web/dir/doc.html</code>的步骤如下：</p>
<ul>
    <li>应用指令<code>AllowOverride None</code>（禁用<code>.htaccess</code>文件）。 </li>
    <li>应用指令<code>AllowOverride FileInfo</code>（针对目录<code>/home/web</code>）。 </li>
    <li>应用所有<code>/home/web/.htaccess</code>中的FileInfo指令 </li>
</ul>
<p>正则表达式将在所有普通配置段应用后才予以考虑。所有的正则表达式将根据它们出现在配置文件中的顺序进行验证。比如说，以下配置：</p>
<div class="example">
<p><code>&lt;Directory ~ abc$&gt;<br />
... directives here ...<br />
&lt;/Directory&gt;<br />
</code></p>
</div>
<p>正则表达式配置段将在所有普通的&lt;Directory&gt;和<code>.htaccess</code>文件应用后才予以考虑。所以正则表达式将匹配<code>/home/abc/public_html/abc</code>并予以应用。</p>
<p><strong>请注意：Apache对&lt;Directory /&gt;的默认访问权限为<code>Allow from All</code>。这意味着Apache将伺服任何通过URL映射的文件。我们建议您将这个配置做如下屏蔽：</strong></p>
<div class="example">
<p><code>&lt;Directory /&gt;<br />
&nbsp;&nbsp;Order Deny,Allow<br />
&nbsp;&nbsp;Deny from All<br />
&lt;/Directory&gt; </code></p>
</div>
<p><strong>然后在您<em>想要</em>使之被访问的目录中覆盖此配置。参阅<a href="http://www.uplinux.com/download/doc/apache/ApacheManual/misc/security_tips.html">安全提示</a>页获取更多详情。</strong></p>
<p>一般来说，directory小节会出现在access.conf文件中，但它们也可能出现在任何配置文件中。<code class="directive">&lt;Directory&gt;</code>指令不可被嵌套使用，也不能出现在<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#limit">&lt;Limit&gt;</a></code>或<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#limitexcept">&lt;LimitExcept&gt;</a></code>小节中。</p>
<h3>参见</h3>
<ul>
    <li><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/sections.html">Directory、Location和Files配置段是如何工作的</a>中包含了当接受一个请求时，这些不同的配置段是如何组合工作的相关解释。 </li>
</ul>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="DirectoryMatch" id="DirectoryMatch">&lt;DirectoryMatch&gt;</a> <a name="directorymatch" id="directorymatch">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>封装一些指令并施用于文件系统中符合一个正则表达式的目录及其子目录</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>&lt;DirectoryMatch <em>regex</em>&gt; ... &lt;/Directory&gt;</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>服务器配置, 虚拟主机</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
    </tbody>
</table>
<p><code class="directive">&lt;DirectoryMatch&gt;</code>和<code>&lt;/DirectoryMatch&gt;</code>用于封装一组指令。与<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#directory">&lt;Directory&gt;</a></code>类似，此组指令将仅施用于指定名字的目录及其子目录。然而，它可以接受一个正则表达式作为参数。比如说：</p>
<div class="example">
<p><code>&lt;DirectoryMatch &quot;^/www/.*/[0-9]{3}&quot;&gt; </code></p>
</div>
<p>将匹配<code>/www/</code>下所有由3个数字组成的目录。</p>
<h3>参见</h3>
<ul>
    <li><code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#directory">&lt;Directory&gt;</a></code>获取如何在普通的<code>&lt;Directory&gt;</code>中使用正则表达式的描述。 </li>
    <li><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/sections.html">Directory、Location和Files配置段是如何工作的</a>中包含了当接受一个请求时，这些不同的配置段是如何组合工作的相关解释。 </li>
</ul>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a> <a name="documentroot" id="documentroot">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>组成网络上可以观看的主文档树的目录</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>DocumentRoot <em>目录路径</em></code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Default">默认值:</a></th>
            <td><code>DocumentRoot /usr/local/apache/htdocs</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>服务器配置, 虚拟主机</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
    </tbody>
</table>
<p>此指令设置了httpd来伺服的目录。在没有使用类似Alias这样的指令的情况下，服务器会将请求中的URL附加到document root后面以构成指向文档的路径。比如说：</p>
<div class="example">
<p><code>DocumentRoot /usr/web </code></p>
</div>
<p>于是对于<code>http://www.my.host.com/index.html</code>的访问就会指向<code>/usr/web/index.html</code>。</p>
<p>指定<code class="directive">DocumentRoot</code>时不应包括最后的&ldquo;/&rdquo;。</p>
<h3>参见</h3>
<ul>
    <li><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/urlmapping.html">将URL映射到文件系统的位置</a> </li>
</ul>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a> <a name="enablemmap" id="enablemmap">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
            <td>在分发中使用内存映射（memory-mapping）来读取文件</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Syntax">语法:</a></th>
            <td><code>EnableMMAP on|off</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Default">默认值:</a></th>
            <td><code>EnableMMAP on</code></td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Context">上下文:</a></th>
            <td>服务器配置, 虚拟主机, 目录, .htaccess</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Override">覆盖项:</a></th>
            <td>FileInfo</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Status">状态:</a></th>
            <td>核心</td>
        </tr>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Module">模块:</a></th>
            <td>core</td>
        </tr>
    </tbody>
</table>
<p>此指令控制着httpd在分发中如果需要读取一个文件的内容，它是否可以使用内存映射。当处理一个需要访问在一个文件中的数据的请求时，比如说当分发一个使用<code class="module"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/mod_include.html">mod_include</a></code>指令进行服务器端分析的文件时，如果操作系统支持，Apache将默认使用内存映射。</p>
<p>这种内存映射有时会带来性能的提高，但在某些情况下，您可能会需要禁用内存映射以避免一些操作系统的问题： </p>
<ul>
    <li>在一些多处理器的系统上，内存映射会减低一些httpd的性能。 </li>
    <li>在一个加载了NFS的<code class="directive"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#documentroot">DocumentRoot</a></code>上，当httpd已经将一个文件进行了内存映射的情况下，删除或截断了这个文件会造成httpd因为堆栈溢出而崩溃。 </li>
</ul>
<p>在可能遇到这些问题的服务器配置过程中，您应当使用下面这样的命令来禁用内存映射： </p>
<div class="example">
<p><code>EnableMMAP off </code></p>
</div>
</div>
<div class="top"><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html#page-header"><img src="http://www.uplinux.com/download/doc/apache/ApacheManual/images/up.gif" alt="top" /></a></div>
<div class="directive-section">
<h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a> <a name="errordocument" id="errordocument">指令</a></h2>
<table class="directive">
    <tbody>
        <tr>
            <th><a href="http://www.uplinux.com/download/doc/apache/ApacheManual/mod/directive-dict.html#Description">说明:</a></th>
   </tr></tbody></table></div></div>
          <br/>
          <span style="color:red;">
            <a href="http://marine-chen.javaeye.com/blog/108919#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 04 Aug 2007 16:03:38 +0800</pubDate>
        <link>http://marine-chen.javaeye.com/blog/108919</link>
        <guid>http://marine-chen.javaeye.com/blog/108919</guid>
      </item>
      <item>
        <title>Oracle语句优化５３个规则详解</title>
        <author>marine_chen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://marine-chen.javaeye.com">marine_chen</a>&nbsp;
          链接：<a href="http://marine-chen.javaeye.com/blog/107285" style="color:red;">http://marine-chen.javaeye.com/blog/107285</a>&nbsp;
          发表时间: 2007年07月31日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong>1. 选用适合的ORACLE优化器</strong>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>ORACLE的优化器共有3种：</strong></p>
<p>a. RULE （基于规则）&nbsp;&nbsp; <br />
b. COST （基于成本） <br />
c. CHOOSE （选择性）</p>
<p>&nbsp;&nbsp;&nbsp; 设置缺省的优化器，可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明，如RULE，COST，CHOOSE，ALL_ROWS，FIRST_ROWS . 你当然也在SQL句级或是会话（session）级对其进行覆盖。</p>
<p>&nbsp;&nbsp;&nbsp; 为了使用基于成本的优化器（CBO， Cost-Based Optimizer） ， 你必须经常运行analyze 命令，以增加数据库中的对象统计信息（object statistics）的准确性。</p>
<p>&nbsp;&nbsp;&nbsp; 如果数据库的优化器模式设置为选择性（CHOOSE），那么实际的优化器模式将和是否运行过analyze命令有关。 如果table已经被analyze过， 优化器模式将自动成为CBO ， 反之，数据库将采用RULE形式的优化器。</p>
<p>&nbsp;&nbsp;&nbsp; 在缺省情况下，ORACLE采用CHOOSE优化器，为了避免那些不必要的全表扫描（full table scan） ， 你必须尽量避免使用CHOOSE优化器，而直接采用基于规则或者基于成本的优化器。</p>
<p>&nbsp;&nbsp;&nbsp; <strong>2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 访问Table的方式ORACLE 采用两种访问表中记录的方式：</strong></p>
<p>&nbsp;&nbsp;&nbsp; a.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 全表扫描<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 全表扫描就是顺序地访问表中每条记录。 ORACLE采用一次读入多个数据块（database block）的方式优化全表扫描。</p>
<p>&nbsp;&nbsp;&nbsp; b.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通过ROWID访问表<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 你可以采用基于ROWID的访问方式情况，提高访问表的效率， ROWID包含了表中记录的物理位置信息&hellip;&hellip;ORACLE采用索引（INDEX）实现了数据和存放数据的物理位置（ROWID）之间的联系。通常索引提供了快速访问ROWID的方法，因此那些基于索引列的查询就可以得到性能上的提高。</p>
<p>&nbsp;&nbsp;&nbsp; <strong>3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 共享SQL语句</strong></p>
<p>&nbsp;&nbsp;&nbsp; 为了不重复解析相同的SQL语句，在第一次解析之后， ORACLE将SQL语句存放在内存中。这块位于系统全局区域SGA（system global area）的共享池（shared buffer pool）中的内存可以被所有的数据库用户共享。 因此，当你执行一个SQL语句（有时被称为一个游标）时，如果它和之前的执行过的语句完全相同， ORACLE就能很快获得已经被解析的语句以及最好的执行路径。 ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用。</p>
<p>&nbsp;&nbsp;&nbsp; 可惜的是ORACLE只对简单的表提供高速缓冲（cache buffering） ，这个功能并不适用于多表连接查询。</p>
<p>&nbsp;&nbsp;&nbsp; 数据库管理员必须在init.ora中为这个区域设置合适的参数，当这个内存区域越大，就可以保留更多的语句，当然被共享的可能性也就越大了。</p>
<p>&nbsp;&nbsp;&nbsp; 当你向ORACLE 提交一个SQL语句，ORACLE会首先在这块内存中查找相同的语句。</p>
<p>&nbsp;&nbsp;&nbsp; 这里需要注明的是，ORACLE对两者采取的是一种严格匹配，要达成共享，SQL语句必须完全相同（包括空格，换行等）。</p>
<p>&nbsp;&nbsp;&nbsp; <strong>共享的语句必须满足三个条件：</strong></p>
<p>&nbsp;&nbsp;&nbsp; A.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 字符级的比较：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前被执行的语句和共享池中的语句必须完全相同。</p>
<p>&nbsp;&nbsp;&nbsp; 例如：</p>
<p>&nbsp;&nbsp;&nbsp; SELECT * FROM EMP；</p>
<p>&nbsp;&nbsp;&nbsp; 和下列每一个都不同</p>
<p>&nbsp;&nbsp;&nbsp; SELECT * from EMP；<br />
&nbsp;&nbsp;&nbsp; Select * From Emp；<br />
&nbsp;&nbsp;&nbsp; SELECT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; FROM EMP；</p>
<p>&nbsp;&nbsp;&nbsp; B.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 两个语句所指的对象必须完全相同：</p>
<p>&nbsp;&nbsp;&nbsp; 例如：</p>
<p>&nbsp;&nbsp;&nbsp; 用户&nbsp;&nbsp;&nbsp;&nbsp; 对象名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如何访问<br />
&nbsp;&nbsp;&nbsp; Jack&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sal_limit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private synonym <br />
　　　　Work_city&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public synonym <br />
　　　　Plant_detail&nbsp;&nbsp;&nbsp;&nbsp; public synonym <br />
　Jill&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sal_limit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private synonym <br />
　　　　Work_city&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public synonym <br />
　　　　Plant_detail&nbsp;&nbsp;&nbsp;&nbsp; table owner</p>
<p>　考虑一下下列SQL语句能否在这两个用户之间共享。</p>
<p>
<table cellspacing="0" border="0" width="621" cellpadding="0" style="MARGIN-LEFT: 4.55pt; WIDTH: 466pt; BORDER-COLLAPSE: collapse">
    <tbody>
        <tr style="HEIGHT: 14.25pt">
            <td nowrap="nowrap" width="311" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: 1pt solid; WIDTH: 233pt; PADDING-TOP: 0cm; BORDER-BOTTOM: 1pt solid; HEIGHT: 14.25pt">
            <div style="LINE-HEIGHT: 150%"><strong><span style="COLOR: rgb(51,51,51)">SQL</span></strong></div>
            </td>
            <td nowrap="nowrap" width="91" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 68pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 14.25pt">
            <div style="LINE-HEIGHT: 150%"><strong><span style="COLOR: rgb(51,51,51)">能否共享</span></strong></div>
            </td>
            <td nowrap="nowrap" width="220" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 165pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 14.25pt">
            <div style="LINE-HEIGHT: 150%"><strong><span style="COLOR: rgb(51,51,51)">原因</span></strong></div>
            </td>
        </tr>
        <tr style="HEIGHT: 42.75pt">
            <td width="311" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: 1pt solid; WIDTH: 233pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; HEIGHT: 42.75pt">
            <div style="LINE-HEIGHT: 150%"><span style="COLOR: rgb(51,51,51)">select max(sal_cap) from sal_limit;</span></div>
            </td>
            <td width="91" style="BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: 1pt solid; WIDTH: 68pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; HEIGHT: 42.75pt">
            <div style="LINE-HEIGHT: 150%"><span style="COLOR: rgb(51,51,51)">不能</span></div>
            </td>
            <td width="220" style="BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 165pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; HEIGHT: 42.75pt">
            <div style="LINE-HEIGHT: 150%"><span style="COLOR: rgb(51,51,51)">每个用户都有一个</span><span style="COLOR: rgb(51,51,51)">private synonym - sal_limit , </span><span style="COLOR: rgb(51,51,51)">它们是不同的对象</span></div>
            </td>
        </tr>
        <tr style="HEIGHT: 28.5pt">
            <td width="311" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: 1pt solid; WIDTH: 233pt; PADDING-TOP: 0cm; BORDER-BOTTOM: 1pt solid; HEIGHT: 28.5pt">
            <div style="LINE-HEIGHT: 150%"><span style="COLOR: rgb(51,51,51)">select count(*0 from work_city where sdesc like 'NEW%';</span></div>
            </td>
            <td width="91" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 68pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 28.5pt">
            <div style="LINE-HEIGHT: 150%"><span style="COLOR: rgb(51,51,51)">能</span></div>
            </td>
            <td width="220" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 165pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 28.5pt">
            <div style="LINE-HEIGHT: 150%"><span style="COLOR: rgb(51,51,51)">两个用户访问相同的对象</span><span style="COLOR: rgb(51,51,51)">public synonym - work_city </span></div>
            </td>
        </tr>
        <tr style="HEIGHT: 57.75pt">
            <td width="311" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: 1pt solid; WIDTH: 233pt; PADDING-TOP: 0cm; BORDER-BOTTOM: 1pt solid; HEIGHT: 57.75pt">
            <div style="LINE-HEIGHT: 150%"><span style="COLOR: rgb(51,51,51)">select a.sdesc,b.location from work_city a , plant_detail b where a.city_id = b.city_id</span></div>
            </td>
            <td width="91" style="BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: 1pt solid; WIDTH: 68pt; PADDING-TOP: 0cm; BORDER-BOTTOM: 1pt solid; HEIGHT: 57.75pt">
            <div style="LINE-HEIGHT: 150%"><span style="COLOR: rgb(51,51,51)">不能</span></div>
            </td>
            <td width="220" style="BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 165pt; PADDING-TOP: 0cm; BORDER-BOTTOM: 1pt solid; HEIGHT: 57.75pt">
            <div style="LINE-HEIGHT: 150%"><span style="COLOR: rgb(51,51,51)">用户</span><span style="COLOR: rgb(51,51,51)">jack </span><span style="COLOR: rgb(51,51,51)">通过</span><span style="COLOR: rgb(51,51,51)">private synonym</span><span style="COLOR: rgb(51,51,51)">访问</span><span style="COLOR: rgb(51,51,51)">plant_detail </span><span style="COLOR: rgb(51,51,51)">而</span><span style="COLOR: rgb(51,51,51)">jill </span><span style="COLOR: rgb(51,51,51)">是表的所有者</span><span style="COLOR: rgb(51,51,51)">,</span><span style="COLOR: rgb(51,51,51)">对象不同</span><span style="COLOR: rgb(51,51,51)">.</span></div>
            </td>
        </tr>
    </tbody>
</table>
</p>
<p>&nbsp;&nbsp;&nbsp; C.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 两个SQL语句中必须使用相同的名字的绑定变量（bind variables）</p>
<p>&nbsp;&nbsp;&nbsp; 例如：第一组的两个SQL语句是相同的（可以共享），而第二组中的两个语句是不同的（即使在运行时，赋于不同的绑定变量相同的值）</p>
<p>&nbsp;&nbsp;&nbsp; a.</p>
<p>　&nbsp;select pin ， name from people where pin = ：blk1.pin；<br />
　&nbsp;select pin ， name from people where pin = ：blk1.pin；</p>
<p>　b. <br />
　select pin ， name from people where pin = ：blk1.ot_ind；<br />
　select pin ， name from people where pin = ：blk1.ov_ind；</p>
<p>　<strong>4. 选择最有效率的表名顺序（只在基于规则的优化器中有效）</strong></p>
<p>&nbsp;&nbsp;&nbsp; ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名，因此FROM子句中写在最后的表（基础表 driving table）将被最先处理。 在FROM子句中包含多个表的情况下，你必须选择记录条数最少的表作为基础表。当ORACLE处理多个表时，会运用排序及合并的方式连接它们。首先，扫描第一个表（FROM子句中最后的那个表）并对记录进行派序，然后扫描第二个表（FROM子句中最后第二个表），最后将所有从第二个表中检索出的记录与第一个表中合适记录进行合并。</p>
<p>&nbsp;&nbsp;&nbsp; 例如：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 表 TAB1 16，384 条记录<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 表 TAB2 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 条记录</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择TAB2作为基础表 （最好的方法）</p>
<p>&nbsp;&nbsp;&nbsp; select count（*） from tab1，tab2&nbsp;&nbsp; 执行时间0.96秒</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择TAB2作为基础表 （不佳的方法）</p>
<p>&nbsp;&nbsp;&nbsp; select count（*） from tab2，tab1&nbsp;&nbsp;