- Windows NT: 指所有版本的基于NT核心的Microsoft Windows操作系统, 包括Windows NT, Windows 2000, Windows XP and Windows.NET Server 2003及后续版本。
- Windows 9x: 指所有版本的定位于家庭使用的Microsoft Windows操作系统, 包括Windows 95, Windows 98 and Windows ME。
对操作系统的要求
下载 Apache for Windows
.msi
扩展名的Apache for Windows版本。 这是一个单一的Microsoft Installer文件,包含了Apache,可以立即安装并运行。 还有一个单独的.zip
文件只打包了源码, 可以用Microsoft Visual C++ (Visual Studio)工具来编译。安装 Apache for Windows
.msi
文件。安装程序会要求提供下列信息:- 安装Apache的文件夹(缺省是
\Program Files\Apache Group\Apache
, 虽然你可以把它指定为任何其他文件夹) - 开始菜单上的名称(缺省是"Apache Web Server")
- 安装类型。选择]"Typical"选项会安装除源码以外的所有内容。 选择"Minimum"选项不安装说明手册和源码。如果希望安装源码请选择"Custom"安装方式。
conf
文件夹中的文件。 但是如果那个目录下已有同名文件存在,原有文件将不会被覆盖, 而新的相应的文件将会被加上.default
扩展名。 所以,举例来说,如果conf\httpd.conf
已经存在,那么不会对它做任何改变, 而新版本http.conf的内容将会被写入文件conf\httpd.conf.default
。 安装完成以后你应该检查.default
文件中的内容看看有没有不同, 如果必要,更新你原有的配置文件。htdocs\index.html
的文件,它也不会被覆盖掉 (也不会安装index.html.default
文件)。 这意味着你在一个旧版本Apache上安装新版本是安全的 (但是你必须在安装之前首先停掉原有服务器然后在安装完成后再启动服务器)。conf
目录下的配置文件。这些 文件已在安装期间被配置以便Apache能够从安装目录运行,文档目录被配置为安装 目录下的子目录htdocs
。在你开始真正使用之前还有很多选项需要设 置。但是为了尽快开始,可以使用安装时自动配置的配置文件。配置 Apache for Windows
conf
目录下的文件进行配置,与Unix系统下的版本一样, 但是Windows版本有几个不同的指令,可阅读Apache 文档察看全部可用指令。-
因为Apache for Windows是多线程的,它并不像Unix版本那样为每个请求使用一个单独的进程。 而是通常运行两个Apache进程:一个父进程,和一个处理请求的子进程。 在子进程内部由单独的线程来处理每个请求。因此"process"-管理指令族是不同的:
MaxRequestsPerChild
- 就像在Unix版本中的相同指令,这条指令控制一个进程退出前将为多少个请求提供服务。 然而,与Unix不同的是,一个进程将即时为所有请求而不是只为一个请求服务, 因此如果设置这条指令,建议将它设为一个很大的值。 缺省的设置,MaxRequestsPerChild 0
,不会引起进程总是退出。警告: 启动新的子进程时将会重新读入服务器配置文件。如果你修改了httpd.conf
, 新的子进程将有可能不能启动或者可能得到预期之外的结果。ThreadsPerChild
- 这是一条新的指令,用来告诉服务器应该使用多少个线程。 指明了服务器可以立刻处理的连接的最大数量; 如果你的站点有大量的点击,确认并为你的站点设置这条足够大的值。 缺省值是ThreadsPerChild 50
。 -
接收文件名作为参数的指令必须使用Windows文件名取代Unix文件名。 但是,因为Apache内部使用Unix风格的名字,你必须使用正斜杠而不是反斜杠。 可以使用盘符;如果省略,将假定使用Apache执行文件所在盘符。
-
Apache for Windows具有运行时装入模块的能力,不需要重新编译。 如果Apach是e在正常情况下编译,它会在
\Apache\modules
目录下安装许多可选模块。 要激活它们或者其他模块,必须使用新的LoadModule
指令。 举例来说,要激活状态模块,使用下列指令(除了access.conf
中的状态激活指令以外):LoadModule status_module modules/mod_status.so
也可使用创建可装载模块中的信息。 -
Apache也可以装载ISAPI扩展(i.e., Internet Server Applications),例如Microsoft IIS服务器和其他一些Windows服务器所使用的。 这里有更多相关信息。注意Apache不能装载ISAPI 过滤器。
-
当运行CGI脚本时,Apache查找脚本解释器使用的方法是由
ScriptInterpreterSource
指令配置的。 -
由于在Windows下管理具有像
.htaccess
这样名字的文件经常是很困难的, 你会发现在配置文件中使用AccessFilename
指令改变使用的配置文件的名字是很有用。
以服务方式运行Apache for Windows
-n
选项只在Apache 1.3.7 及以后的版本中可用。 早期版本只支持缺省服务名"Apache"。apache -i -n "服务名"
apache -i -n "服务名" -f "\my server\conf\my.conf"
apache -u -n "服务名"
-n
选项和其他选项一起访问该服务的配置文件。例如:apache -n "服务名" -t
apache -n "服务名"
关于服务依存关系的重要提示:
运行 regedt32
从菜单选择窗口 - "HKEY_LOCAL_MACHINE on Local Machine"
双击打开 SYSTEM, 然后打开 the CurrentControlSet
滚动到Apache服务名并点击
从菜单选择 Edit - Add Value...
用下列值填充Add Value对话框
数值名称: DependOnGroup
数据类型: REG_MULTI_SZ
点击确定
保留多字符串编辑器为空并点击确定
Select Edit - 从菜单选择 Edit - Add Value...
用下列值填充Add Value对话框
数值名称: DependOnService
数据类型: REG_MULTI_SZ
点击确定
在多字符串编辑器中输入下列列表(每行一条)
Tcpip
Afd
点击确定
运行Apache服务的用户帐号(NT/2000)
-i
选项),它会以用户"System"(本地系统账号)运行。 如果web服务器的所有资源都在本地系统上,这样做会问题比较少,但是将会具有很大的安全权限来影响本地机器!- 在控制面板的服务对话框中选择Apache并点击启动服务。
- 证实服务的账号是正确的。你可能希望为Apache服务创建一个账号。
- 重新输入密码和确认密码。
- 转到域的用户管理。
- 从标题栏菜单点击策略,选择用户权限。
- 选择高级用户权限选项。
- 在下拉列表中,确认以下权限已授予选择的账号:
- 作为操作系统一部分运行
- 备份文件和目录
- 作为服务登录
- 还原文件和目录
- 确认选择的账号是user组的成员。
- 确认选择的账号获得了访问所有
文档
和脚本
目录的权力(最少需要读取和浏览访问)。 - 确认选择的账号对Apache
日志
目录有读/写/删除访问权限!
Apache for Windows作为服务运行的故障分析
Could not start the apache service on \\COMPUTER
Error 1067; The process terminated unexpectedly.
从命令行运行Apache
控制服务方式的Apache
apache -n "服务名" -k start
apache -n "服务名" -k restart
apache -n "服务名" -k shutdown
apache -n "服务名" -k stop
-n
仍然需要,因为如果命令中使用-k
选项而没有-n
选项的话,命令会作用在运行于控制台窗口的Apache上。引号只是在服务名含有空格时才是必要的。-k shutdown
的别名-k stop
只是到了1.3.13版本才被引入。 早期版本的Apache只认识-k shutdown
选项。先于1.3.3版本的Apache不认识任何-k
选项!NET
来启动和停止Apache服务,像这样:NET START "服务名"
NET STOP "服务名"
高度试验性的Windows 95/98 服务
Apache -n "服务名" -k start
httpd.conf
文件中有不正确的设置这样的问题,则控制台窗口会保持可见。 这样将显示一个有助于追踪错误原因的错误信息。NET START
或者NET STOP
命令,因此你在命令中必须使用Apache的服务控制选项。 你可能希望为每个命令设置一个快捷方式以便你能够只需要从开始菜单或者桌面一点就能执行所需的操作。安装的测试
Listen
指令。 要连接到服务器访问默认页面,启动一个浏览器并输入下列URL:[url]http://localhost/[/url]
logs
文件夹中的 error_log
文件。如果你的主机没有联网,你也许需要输入这样的URL:[url]http://127.0.0.1/[/url]
conf
目录下的文件来恰当地配置Apache。 此外,如果你改变了作为NT服务运行的Apache的配置, 你应该首先尝试从命令行启动来保证能够无错地启动Apache服务。因为Apache对asp支持得不好,如果您的网站用到了asp,建议您使用win 2000 server + IIS。
安装Apache
一、下载
windows平台的Apache可以在这个网址下载:
[url]http://nagoya.apache.org/mirror/httpd/binaries/win32/[/url]
Apache的版本目前有两个分支:1.3.x和2.0.x。初学者用1.3.x就可以了。本文以1.3.x为例。
在上面的网址里,包含了两个分支的最新版本。请选择后缀为“exe”或“msi”的安装文件下载。
二、安装
运行下载的Apache文件,即可开始安装。Apache的安装过程很简单。只需要设置下面这个窗口:
在“Network Domain”里输入域。如果用本站的二级域名,例如“test.dnschek.net”,请输入“test.dnschek.net”。如果用顶级域名,请输入“xxx.com”。
在“Server Name”里输入服务器名。如果用本站的二级域名,请输入您的域名“test.dnschek.net”。如果用顶级域名,请输入“[url]www.xxx.com[/url]”。
在“Administrator's Email Address”里输入网站管理员的Email地址。
除此之外,安装过程里所有的选项,全部用默认选项就可以了。
三、运行
1、Win 9x:
Apache安装后,会在“开始”->“程序”里增加一个“Apache HTTP Server”的组。进入该组,选择“Control Apache Server”->“Start”即可启动Apache。
2、Win NT/2000/XP/2003
在这些系统里,用默认选项安装的Apache,除了在“开始”->“程序”里增加一个“Apache HTTP Server”的组之外,还会在系统的服务里增加一个Apache服务。该服务被设置为系统启动时自动运行。
配置Apache
一、配置文件
Apache是一个后台运行的程序,没有界面。所有的配置,都包含在配置文件里。主配置文件是:
C:\Program Files\Apache Group\Apache\conf\httpd.conf
如果要修改Apache的配置,可以用任何一个文本编辑工具(例如记事本)编辑这个配置文件。在配置文件里,以“#”开头的行是注释行。
二、配置选项
在配置文件里的主要选项如下:
#Listen 3000
#Listen 12.34.56.78:80
Apache的IP地址和端口。一般来说不需要设置,Apache会绑定在本机所有IP地址的80端口上。
Port 80
Apache的端口。默认值是80。
ServerName test.dnschek.net
Web服务器的名字。安装时输入的“Server Name”就是保存在这里。
DocumentRoot "C:/Program Files/Apache Group/Apache/htdocs"
这是网站的根目录。如果您想把网站文件存放在“D:\myweb”目录下,可以把DocumentRoot后面的目录修改为“D:/myweb”。
Options Indexes FollowSymLinks MultiViews
为了安全起见,请把上面的“Indexes”删掉。否则别人可以浏览到您网站里的所有文件。
DirectoryIndex index.html
默认首页文件名。在浏览器里输入一个地址(例如[url]http://test.dnschek.net/[/url])的时候,Apache会查找这个默认的首页文件打开。如果要配置多个默认首页文件名,请用空格分开。
ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache/cgi-bin/"
CGI文件存放路径。
三、高级配置
1、设置虚拟目录
在配置文件中找下面这行:
<IfModule mod_alias.c>
在这行下面添加如下内容:
Alias /vdir/ "c:/comexe/"
<Directory "c:/comexe/">
Options MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
这样,通过访问 [url]http://test.dnschek.net/vdir/[/url],就可以访问到c:\test\目录下的内容。
Apache默认开设了两个虚拟目录:“/icons/”和“/manual/”。这两个虚拟目录没有用,可以在配置文件中删除。
2、如何解决中文网页显示乱码
(1)在配置文件中找包含“AddLanguage”或“AddCharset”的行,在这些行最前面增加一行:
AddDefaultCharset GB2312
(2)养成良好的习惯,在每个网页的<head></head>里加入这行:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
一般的中文版网页编辑工具(例如FrontPage、Dreamweaver等)都会自动加上这行。
3、如何解决中文文件名无法访问
在ie中选择 工具 -> internet选项 -> 高级 -> 取消“总是以UTF-8发送URL”。
这个方法很麻烦,请尽量不要使用中文的网站文件名。
请注意:
1、Apache配置过程中最关键的两点是:网站根目录和默认首页文件名。必须要把网站文件放在所指定的网站根目录下,而且默认首页文件名必须要设置正确,否则将看不到您的网页。
2、每次配置文件更改后,要重新启动Apache才会生效。
————————————————————————————————
特别声明:--
一、本文为原创,著作权及使用权为(作者笔名:闪电cto)本人所有。
二、本文首发于51cto个人博客(http://xudeqiang.blog.51cto.com)。
三、本文只供互联网上的读者分享,不供共享范畴,希知。
四、未经许可严禁对本文作修改、节选、断章性质的处理。
五、可转载,但必须注明原文章首发的出处网址,及文章作者,严禁复制。
六、如若转摘用于杂志网络媒体新闻,必须通知作者得到允许后方可,需收稿费。
七、作者联系信息:QQ:306718122 邮箱levinboy@foxmail.com
——————————————————————————————