基于C#的Web应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4.4 安装和配置Apache Web服务器

最新版本的Apache服务器软件,可从www.apache.org官方网站下载。有两种安装Apache Web服务器的方法,都非常简单,一种是下载用于Windows操作系统的安装文件httpd-2.2.17-win32-x86-openssl-0.9.8o.msi安装,另一种更为简单,就是将安装文件msi运行安装后的文件夹下的文件夹及有关文件(如选择modules文件夹中所需模块)复制到任意位置,通过cmd命令或直接运行BAT文件即可安装、卸载、启动和停止Apache的Web服务。

以下就介绍这种安装方法,使用该安装方法的优点,就是将已开发完成的整个网站以及Apache程序和其他不同用途的应用程序(如FTP文件传输、MySQL数据库等软件)集成为一个软件包,通过一个程序来安装、启动和停止这些程序,使该软件包成为一个产品软件,特别是使用上述Apache、MySQL等开源的无版权争议的软件来开发产品,国外常用此种方法开发网络应用程序,本节就介绍这种快速安装ASP.NET环境来调试ASP.NET程序的方法。

安装和启动Apache Web服务器前,必须停止IIS的Web服务或设置IIS Web的TCP端口号为非80,如以上IIS已设置为8080,也就是说如果本机同时运行IIS和Apache,必须设置它们为不同的TCP端口号,避免端口冲突。

1.安装和卸载Apache Web服务器

复制本书示例文件夹中的Apache文件夹到D:\WebSys\Apache文件夹。

单击“开始→所有程序→附件→命令提示符”,打开DOS窗口。

执行DOS命令D:\WebSys\Apache\bin\httpd -k install -n "Apache",表示安装一个名为Apache的Web服务器,执行如图1.4.7所示。

图1.4.7 安装Apache Web服务器

执行DOS命令D:\WebSys\Apache\bin\httpd -k uninstall -n "Apache",表示卸载一个名为Apache的Web服务器,执行过程如图1.4.8所示。

图1.4.8 卸载Apache Web服务器

或将上述DOS命令写入批处理文件Start.abt和Stop.bat中,通过在运行批处理文件Start.abt和Stop.bat,来启动和停止Apache,本节后面将会介绍。

2.安装Apache Web服务器支持ASP.NET

双击安装示例文件夹中的mod_aspdotnet2.2.msi文件,选择D:\WebSys\Apache目录,其余按默认完成安装。

3.配置Apache Web服务器

Apache的设置和IIS服务器的设置方法完全不同,它不同于IIS图形窗口中的设置方法,需通过在配置文件中添加和修改代码,才能实现不同的功能。

Apache服务器的配置文件httpd.conf,位于安装路径 \WebSys\Apache\conf目录下,它是整个Apache Web服务器的控制中心,主要设置如下所述。

(1)网站根目录

Apache的原始默认根目录是..\Apache\htdocs文件夹,现设置默认根目录为D:\WebSys\Web。

使用记事本程序打开\WebSys\Web\conf\httpd.conf配置文件,执行“编辑→查找”命令,搜索查找不带#号的DocumentRoot项(带#号的行是注释语句),将DocumentRoot右侧的路径修改为"\WebSys\Web"。再搜索<Directory项,将<Directory右侧的路径修改为"D:\WebSys\Web">,即修改下列两行:

将DocumentRoot "D:/Program Files/Apache/htdocs"。

修改为DocumentRoot "D:/WebSys/Web"。

将<Directory "D:/Program Files/Apache/htdocs">。

修改为<Directory "D:/WebSys/Web">。

注意:在修改目录路径时一定要注意“/”和“\”的区别,平常书写路径时用“\”,但在这里一律使用“/”。

(2)默认文档

Apache在默认情况下的默认文档为index.html,可以修改和添加默认文档。在httpd.conf配置文件中搜索查找不带#号的Directoryindex项,在其后修改或添加要设置的默认文档,如添加index. html为index.htm,添加index.php,即:

将DirectoryIndex index.html。

改为DirectoryIndex index.htm index.php。

注意:其一是index.aspx在支持ASP.NET的代码块中添加。其二是添加多个默认文档时,默认文档间一定要用空格隔开。在最前面的首先被调用,如果该服务不存在,就调用第二个,以此类推,直到把默认文档调用完为止。

(3)修改TCP端口号

Apache Web服务器默认端口号为80,一般不做任何修改,如需修改,在httpd.conf配置文件中搜索查找不带#号的Listen项,其后的数字80就是默认的端口号。

改变默认TCP端口号后访问该站点时,必须加上端口号才能够访问,如IE地址栏中键入http://IP:TCP端口号。

(4)添加Apache支持ASP.NET模块代码

Apache Web服务器通过安装模块可支持ASP.NET、PHP和JSP等动态网页,本文仅介绍支持ASP.NET。

定位鼠标在httpd.conf配置文件文本末,插入以下支持ASP.NET的模块代码:

                LoadModule aspdotnet_module modules/mod_aspdotnet.so
                <IfModule mod_aspdotnet.cpp>
                    AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx
                    rem resources resx soap vb vbproj vsdisco webinfo
                    AliasMatch "^/(?i)aspnet_client/system_web/(\d+)_(\d+)_(\d+)_
                    (\d+)/(.*)" "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.
                    NETClientFiles/$5"
                    <Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.
                    NETClientFiles">
                      Options FollowSymlinks
                      Order allow, deny
                      Allow from all
                    </Directory>
                    AspNetMount / "/WebSys/web"
                    <Directory "/WebSys/web">
                      Options FollowSymlinks ExecCGI
                      Order allow, deny
                      Allow from all
                      DirectoryIndex index.htm index.aspx index.php
                    </Directory>
                </IfModule>

修改上述内容,保存配置文件httpd.conf,重新启动Apache后,Apache支持ASP.NET才能生效。

4.启动和停止Apache的Web服务

启动和停止Apache的Web服务,最简单的方法是使用记事本程序,在Apache文件夹中创建两个批处理文件start.bat和stop.bat。

(1)start.bat启动批处理文件

① start.bat中输入:

bin\httpd.exe -w -n "Apache" -k start

双击start.bat文件即能启动Apache的Web服务。

② 或在start.bat中输入:

bin\httpd.exe -k install -n "Apache"

bin\httpd.exe -w -n "Apache" -k start

双击start.bat文件即能同时完成安装和启动Apache的Web服务。

(2)stop.bat停止批处理文件

① stop.bat中输入:

bin\httpd.exe -w -n "Apache" -k stop

双击stop.bat文件即能停止Apache的Web服务。

② 或在stop.bat中输入:

bin\httpd.exe -w -n "Apache" -k stop

bin\httpd.exe -k uninstall -n "Apache"

双击stop.bat文件即能同时完成停止卸载和停止Apache的Web服务。

本文已定制了一个一键安装集成服务器系统安装包实例程序WebSys.exe,在示例文件夹\SoftWare文件夹中,双击运行WebSys.exe文件自动创建一个集Apache Web服务器和MySQL数据库服务器一体化的服务器系统,该系统同时支持ASP.NET、PHP应用程序和MySQL数据库,默认网站根目录在D:\Websys\Web下,在该文件夹中可同时运行aspx和PHP格式的动态网页,所以该集成服务器系统安装包,既可用于本机调试网页,也可运行于Windows Server 2000/2003/2008服务器,是一个服务器软件。