📄 windows.html
字号:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="Apache, 中文, 手册, 中文版, 中文手册, 中文版手册, 参考手册, 中文参考手册, 金步国" />
<meta name="description" content="Apache 2.2 中文版参考手册" />
<meta name="author" content="金步国" />
<link href="../style/css/manual-zip.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-zip-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<title>在Microsoft Windows中使用Apache - Apache 2.2 中文版参考手册</title>
</head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="../mod/index.html">模块索引</a> | <a href="../mod/directives.html">指令索引</a> | <a href="../faq/index.html">常见问题</a> | <a href="../glossary.html">词汇表</a> | <a href="../sitemap.html">站点导航</a></p><p class="apache">Apache HTTP Server 版本2.2</p><img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./index.html"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path"><a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../index.html">版本2.2</a> > <a href="./index.html">针对特定平台的说明</a></div>
<div id="translation-info"> <a href="../translator_announcement.html#thanks">致谢</a> | <a href="../translator_announcement.html#announcement">译者声明</a> | 本篇译者:<a href="mailto:csfrank@citiz.net">金步国</a> | 本篇译稿最后更新:2006年1月12日 | <a href="../translator_announcement.html#last_new">获取最新版本</a></div>
<div id="page-content"><div id="preamble"><h1>在Microsoft Windows中使用Apache</h1>
<p>此文档阐述了如何在Microsoft Windows平台上安装、配置和运行Apache 2.0 。 如果你发现了bug,或者希望以其他方式作出贡献,请使用我们的<a href="http://httpd.apache.org/bug_report.html">bug报告页面</a>。</p>
<p>本文档的大多数内容假定你是从一个二进制发布版安装Apache到Windows上。 如果你想自己编译Apache(可能有助于开发和跟踪bugs),参看<a href="win_compiling.html">编译Windows下的Apache</a>。</p>
<p><strong>基于当前的Windows版本状况,本文档使用到的缩写及其意义解释包括:</strong></p>
<ul>
<li><strong>Windows NT:</strong> 指所有基于NT核心的Microsoft Windows操作系统的版本,包括Windows NT, Windows 2000, Windows XP, Windows.NET Server 2003及后续版本。</li>
<li><strong>Windows 9x:</strong> 指所有定位于家庭使用的Microsoft Windows操作系统的版本,包括 Windows 95 , Windows 98, Windows ME 。</li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="req" id="req">对操作系统的要求</a></h2>
<p>Apache 2.0被设计为在Windows NT上运行。它的二进制安装程序只能在x86处理器上运行,比如Intel和AMD的芯片。Apache可能也能够运行在Windows 9x上,但是并没有经过测试, 也不建议在实际工作的系统上这样使用。</p>
<p>任何情况下都必须确保TCP/IP网络协议已经安装。如果在Windows 95上运行,必须安装"Winsock2"升级补丁。 "Winsock2" for Windows 95可以在<a href="http://www.microsoft.com/windows95/downloads/contents/WUAdminTools/S_WUNetworkingTools/W95Sockets2/Default.asp">这里</a>下载。</p>
<p>如果在NT 4.0上运行,建议安装Service Pack 6 ,因为Service Pack 4有众所周知的TCP/IP和Winsock完整性的问题,在以后的Service Pack中解决了这些问题。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="down" id="down">下载 Apache for Windows</a></h2>
<p>关于Apache最新版本的有关信息可以在<a href="http://httpd.apache.org/download.cgi">http://httpd.apache.org/download.cgi</a>上找到。那里会列出当前发行版本、 所有最近的alpha和beta测试版本以及镜像web站点和匿名ftp服务器的信息。</p>
<p>你应该下载带有<code>.msi</code>扩展名的Apache for Windows版本。 这是一个单一的Microsoft Installer文件,包含了Apache ,可以立即安装并运行。 还有一个单独的<code>.zip</code>文件只打包了源码, 可以用Microsoft Visual C++ (Visual Studio)工具来编译。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="inst" id="inst">安装 Apache for Windows</a></h2>
<p>Apache的安装需要有Microsoft Installer 1.2或更高版本。 在Windows 9x中,你可以从<a href="http://www.microsoft.com/downloads/release.asp?ReleaseID=32831">这里</a>升级Microsoft Installer到2.0 ,在Windows NT 4.0和2000中,2.0的升级版在<a href="http://www.microsoft.com/downloads/release.asp?ReleaseID=32832">这里</a>。Windows XP/2003不需要这个升级。</p>
<p>注意,使用这个安装包不能在同一个机器上安装两套Apache 2.0。 但是,在同一个机器上,安装一个1.3系列<strong>和</strong>一个2.0系列的Apache则没有问题。 如果你需要在同一个机器上安装两套不同的2.0版本, 则必须<a href="win_compiling.html">用代码编译和安装Apache</a></p>
<p>运行已下载的上述Apache <code>.msi</code>文件。安装程序会要求提供下列信息:</p>
<ol>
<li><p><strong>Network Domain</strong> 你的服务器已经或者将要注册的DNS域名。比如你的服务器的全称DNS域名是<code>server.mydomain.net</code> ,你应当在这里输入:<code>mydomain.net</code></p></li>
<li><p><strong>Server Name</strong> 你的服务器的全称DNS域名,如上情况你应当在这里输入:<code>server.mydomain.net</code></p></li>
<li><p><strong>Administrator's Email Address</strong> 服务器管理员的email地址。这个地址将会在默认的出错页面上显示给客户端。</p></li>
<li>
<p><strong>For whom to install Apache</strong> 如果你希望Apache在80端口监听,并被安装为服务(即使无人登陆,Apache仍将运行),就选择"<code>for All Users, on Port 80, as a Service - Recommended</code>";如果你希望将Apache安装为个人试验使用,或者已经有一个运行于80端口的WWW服务器,就选择"<code>only for the Current User, on Port 8080, when started Manually</code>"。</p>
</li>
<li>
<p><strong>The installation type</strong> 选择<code>Typical</code>会安装除开发模块需要使用的源码和库以外的所有内容。选择<code>Custom</code>可以自定义安装哪些项目。完整安装大约需要13MB磁盘空间,这其中并<em>不包含</em>你的网站文件所用空间。</p>
</li>
<li><p><strong>Where to install</strong> 安装Apache的文件夹,默认为<code>C:\Program Files\Apache Group</code>文件夹下的<code>Apache2</code>子文件夹。</p></li>
</ol>
<p>安装期间,Apache将会配置你所选择的安装目录下的<code>conf</code>文件夹中的文件。 但是如果那个目录下已有同名文件存在,原有文件将不会被覆盖, 而相应的新文件将会被加上<code>.default</code>扩展名。 所以,举例来说,如果<code>conf\httpd.conf</code>已经存在,那么不会对它做任何改变, 而新版本<code>conf\httpd.conf</code>的内容将会被写入文件<code>conf\httpd.conf.default</code> 。 安装完成以后你应该检查<code>.default</code>文件中的内容看看有没有不同, 如果必要,更新你原有的配置文件。</p>
<p>而且,如果你已经有一个名为<code>htdocs\index.html</code>的文件,它不会被覆盖掉 (也不会安装<code>index.html.default</code>文件)。 这意味着你在一个旧版本Apache上安装新版本是安全的 (但是你必须在安装之前首先停掉原有服务器然后在安装完成后重新启动它)。</p>
<p>安装Apache以后,你应该编辑<code>conf</code>目录下的配置文件。这些文件已在安装期间被配置好以便Apache能够从安装目录运行,文档目录被配置为安装目录下的子目录<code>htdocs</code> 。在你开始真正使用之前还有很多选项需要设置。但是为了尽快开始,可以使用安装时自动配置的配置文件。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="cust" id="cust">配置 Apache for Windows</a></h2>
<p>与Unix系统下的版本一样,Apache使用<code>conf</code>目录下的文件进行配置,但是Windows版本有几个不同的指令,参见<a href="../mod/directives.html">指令索引</a>察看全部可用指令。</p>
<p>Apache for Windows主要的不同点是:</p>
<ul>
<li>
<p>因为Apache for Windows是多线程的,它并不像Unix版本那样为每个请求使用一个单独的进程。 而是通常运行两个Apache进程:一个父进程,和一个处理请求的子进程。在子进程内部由多个单独的线程来处理每个请求。</p>
<p>因此与进程管理相关的指令是不同的:</p>
<p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code>就像Unix版本中的指令一样,这条指令控制一个进程退出前将为多少个请求提供服务。 然而,与Unix不同的是,一个进程将为所有请求而不是只为一个请求服务,因此如果设置这条指令,建议将它设为一个很大的值。默认设置 <code>MaxRequestsPerChild 0</code> 使得进程从不退出。</p>
<div class="warning"><strong>警告: 启动新的子进程时将会重新读入服务器配置文件。如果你修改了<code>httpd.conf</code> ,新的子进程将有可能不能启动或者可能得到预期之外的结果。</strong></div>
<p><code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>是一条新的指令,用来告诉服务器应该使用多少个线程,指明了服务器可以立刻处理的最大连接数;如果你的站点有大量的点击,请确认你设置了足够大的值。推荐的默认设置是 <code>ThreadsPerChild 50</code> 。</p>
</li>
<li>
<p>接收文件名作为参数的指令必须使用Windows文件名而不是Unix文件名。 但是,因为Apache内部使用Unix风格的名字,你必须使用正斜杠而不是反斜杠。可以使用盘符;如果省略盘符,将假定使用Apache可执行文件所在盘符。</p>
</li>
<li>
<p>Apache for Windows具有运行时装入模块的能力,不需要重新编译。如果Apach在正常情况下编译,它会在<code>\Apache2\modules</code>目录下安装许多可选模块。 要激活它们或其他模块,必须使用新的<code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>指令。 举例来说,要激活状态模块,使用下列指令(除了<code>access.conf</code>中的状态激活指令以外):</p>
<div class="example"><p><code>
LoadModule status_module modules/mod_status.so
</code></p></div>
<p>也可使用<a href="../mod/mod_so.html#creating">创建可加载模块</a>中的信息。</p>
</li>
<li>
<p>Apache也可以加载ISAPI(Internet Server Applications Programming Interface)扩展,例如被Microsoft IIS服务器和其他一些Windows服务器所使用的。<a href="../mod/mod_isapi.html">这里有更多相关信息</a>。注意Apache<strong>不能</strong>加载ISAPI 过滤器。</p>
</li>
<li><p>当运行CGI脚本时,Apache查找脚本解释器是由<code class="directive"><a href="../mod/core.html#scriptinterpretersource">ScriptInterpreterSource</a></code>指令配置的。</p></li>
<li>
<p>由于在Windows下管理具有像<code>.htaccess</code>这样名字的文件是很困难的,你会发现在配置文件中使用<code class="directive"><a href="../mod/core.html#accessfilename">AccessFilename</a></code>指令改变它的文件名是很有用的。</p>
</li>
<li>
<p>在Windows NT上,Apache启动时发生的错误将会记入Windows事件日志(event log)。这个机制将在Apache尚不能使用<code>error.log</code>文件的时候运作。你可以通过"事件查看器"的MMC接口查看Windows事件日志。</p>
<div class="note"><strong>注意,在Windows 9x上不存在事件日志机制,因此无法记录启动错误。</strong></div></li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="winsvc" id="winsvc">以服务方式运行Apache for Windows</a></h2>
<p>Apache仅能够在Windows NT上作为服务运行。</p>
<p>你可以选择在安装Apache时自动将其安装为一个服务。如果你选择"for all users",那么Apache将会被安装为服务。如果你选择了"only for the Current User",你可以在安装后手动将Apache注册为服务。注意,你必须是Administrators组的成员才能成功注册服务。</p>
<p>使用Apache Service Monitor工具,可以查看和管理你所在网络上的所有机器上安装的Apache服务的状态。为了能够使用这个工具管理Apache服务,你必须首先自动或手动安装Apache服务。</p>
<p>你可以在Apache安装目录的<code>bin</code>子目录下,使用如下命令将Apache安装为Windows NT服务:</p>
<div class="example"><p><code>
apache -k install
</code></p></div>
<p>如果你想指定服务的名称,可以使用下面的命令。当你在同一机器上安装多个Apache服务时,你必须为它们指定不同的名字。</p>
<div class="example"><p><code>
apache -k install -n "服务名"
</code></p></div>
<p>如果你想为不同名称的服务使用不同的配置文件,则安装时需要指定配置文件:</p>
<div class="example"><p><code>
apache -k install -n "服务名" -f "c:\files\my.conf"
</code></p></div>
<p>如果你使用的是第一个命令,也就是除 <code>-k install</code> 外没有其它命令行参数,那么被安装的服务名称将是:<code>Apache2</code> ,配置文件将使用<code>conf\httpd.conf</code> 。</p>
<p>要移除一个Apache服务很简单:</p>
<div class="example"><p><code>
apache -k uninstall
</code></p></div>
<p>或者使用下述命令移除特定名称的Apache服务:</p>
<div class="example"><p><code>
apache -k uninstall -n "服务名"
</code></p></div>
<p>通常,启动、重启、关闭Apache服务的方法是使用Apache Service Monitor工具,另外也可以使用控制台命令:<code>NET START Apache2</code> 和 <code>NET STOP Apache2</code> 或者通过Windows服务控制面板。在启动Apache服务之前,你应当使用下面的命令检查一下配置文件的正确性:</p>
<div class="example"><p><code>
apache -n "服务名" -t
</code></p></div>
<p>你可以通过命令行开关来控制Apache服务。要启动一个已经安装的Apache服务,可以使用:</p>
<div class="example"><p><code>
apache -k start
</code></p></div>
<p>要停止一个已经安装的Apache服务,可以使用:</p>
<div class="example"><p><code>
apache -k stop
</code></p></div>
<p>或</p>
<div class="example"><p><code>
apache -k shutdown
</code></p></div>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -