用心做人,用心做事!

发布新日志

  • 如何让Apache支持ASP与ASP.NET

    2010-12-16 11:35:22

    前言:本人用了phpnow、apm、WampServer等大部分集成Apache、php、mysql的软件,想完全的支持asp,都没有做成功,但是有相关的资料,和大家分享。有一个插件ActiveHTML支持asp,但是我试了,也不好用,总之太麻烦了,所以后来还是用的IIS+php+mysql(请看我的本分类中的另一篇文章)。如果不使用asp当然就非常容易了,而且很好用,但是我还是想使用asp,折腾了一天多,还是没戏,能运行,但是有的只支持一个asp网站,有的有其它问题,郁闷啦!不玩了!如果哪位高手有好的方法使之完美支持asp,请告知,不胜感激!

    注解:
    本文是基于WampServer 2.X套件讨论的,但适用于所有的Apache。其实我们也只是对WampServer中的Apache模块做了修改,使其能够支持ASP/ASP.NET。本文中Apache版本为2.2.8,WampServer 的目录地址为D:\wamp\ 。文中提及的配置文件.conf 及其mod,ActiveHTML,于文末提供下载。

    ASP.NET
    Apache支持ASP.NET比较简单,使用apache.org里提供的mod_aspdotnet即可。地址是:http://httpd.apache.org/modules/ 。

        说一下配置:首先下载mod_aspdotnet 。然后将其mod_aspdotnet.so释放到apache 的/modules/ ,如D:\wamp\bin\apache\apache2.2.8\modules 。然后,我们需要建立一个mod_aspdotnet 单独的配置文件.conf,如httpd-aspdotnet.conf,写好后放入apache的/conf/extra/中,这样比较规范。httpd-aspdotnet.conf,如下

    XML/HTML代码

    1. # Load asp.net module   

    2. LoadModule aspdotnet_module "modules/mod_aspdotnet.so"   

    3.    

    4. # Set asp.net extensions     

    5. AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo   

    6.    

    7. # 其中"D:/wamp/www/aspx" 为我们的ASPX的文件的目录。需自己修改。:)  

    8. <IfModule mod_aspdotnet.cpp>   

    9.    # Mount the ASP.NET /ASP application   

    10.   AspNetMount /ASP "D:/wamp/www/aspx"   

    11.     

    12.   # Map all requests for /ASP to the application files   

    13.   Alias /ASP "D:/wamp/www/aspx"   

    14.     

    15.   # Allow asp.net scripts to be executed in the /ASP folder   

    16.   <Directory "D:/wamp/www/aspx">  

    17.     # Set asp.net options  

    18.     Options Indexes FollowSymLinks Includes +ExecCGI  

    19.     # Set asp.net permissions     

    20.     Order allow,deny   

    21.     Allow from all   

    22.     # Set asp.net default index page to .aspx and .htm   

    23.     DirectoryIndex index.aspx index.htm   

    24.    </Directory>   

    25.   

    26.   # Set aspnet_client files to serve the client-side helper scripts. 这里为我们的ASP.NET_Framework的安装地址,需自己修改。  

    27.   AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) "C:/WINDOWS/Microsoft.NET/Framework/v3.5/ASP.NETClientFiles/$4"   

    28.   <Directory "C:/WINDOWS/Microsoft.NET/Framework/v3.5/ASP.NETClientFiles">   

    29.     Options FollowSymlinks   

    30.     Order allow,deny   

    31.     Allow from all   

    32.   </Directory>   

    33. </IfModule>   

    这样写好httpd-aspdotnet.conf后放入apache的/conf/extra/中,然后修改apache的主配置文件,/conf/httpd.conf 在其中适当位置加入代码

    XML/HTML代码

    1. # ASP.net ,写在httpd.conf 最后适当的位置。 只是为了规范。

    2. Include conf/extra/httpd-aspdotnet.conf

    然后,重启apache,现在/www/aspx/目录已经可以解析.aspx文件了。:)

    ASP

        让Apache完美的支持asp,目前网上也没有好的解决办法,很多东西都还是商业的,以前有个mod可以用,但只能用在apache1.X上,很老的东西了。 我找寻了很久也没有免费的解决办法。无意间得知phpnow有个插件可以支持asp,马上下载下来玩了一下,终于成功让这个插件脱离phpnow,使其支持任意的Apache。其实phpnow也是提取了试用版的ActiveHTML,效果还不错,我比较满意。

            过程如下:首先下载这个phpnow版的ActiveHTML,释放在一个适合的位置,如D:\wamp\bin\ActiveHTML\ ,ActiveHTML需要注册几个.dll,进入CMD在ActiveHTML目录,执行如下命令

    XML/HTML代码

    1. # 进入CMD在ActiveHTML目录,执行如下命令

    2. regsvr32.exe /s slASP3.dll  

    3. regsvr32.exe /s slDispatch.dll  

    4. regsvr32.exe /s MSXML4.dll  

    5. regsvr32.exe /s MSXML4R.dll

    然后,同样的我们需要为ActiveHTML写一个配置文件.conf,如httpd-ahtml.conf,如下

    XML/HTML代码

    1. ##################################################  

    2. #   Uncomment the following lines if you want  

    3. #   to use Authorization environment-variables  

    4. #   You may implement you own user   

    5. #   authentication using LOGON_USER and  

    6. #   LOGON_PASSWORD in your scripts (Login.asp)  

    7. ##################################################  

    8. LoadModule rewrite_module modules/mod_rewrite.so  

    9. RewriteEngine On  

    10. RewriteCond     %{HTTP:Authorization}   ^(.*)$ [NC]  

    11. RewriteRule     /.*             -       [E=HTTP_AUTHORIZATION:%1]  

    12. ##################################################  

    13.   

    14. # Supports Imagemaps  

    15. AddHandler imap-file map  

    16.   

    17. ##################################################  

    18. #   Do not allow access to global.asa  

    19. ##################################################  

    20. <Files ~ "global.asa">  

    21. Order allow,deny  

    22. Deny from all  

    23. Satisfy All  

    24. </Files>  

    25.   

    26.   

    27. ##################################################  

    28. #   Add ActiveHTML-Handler 其中”D:/wamp/bin/ActiveHTML“ 为ActiveHTML释放的目录,需自己修改。

    29. ##################################################  

    30. ScriptAlias /asp_bin "D:/wamp/bin/ActiveHTML"  

    31. Action ActiveHTML "/asp_bin/AHTML.exe"  

    32. AddHandler ActiveHTML .asp  

    33. DirectoryIndex index.asp default.asp  

    34.   

    35.   

    36. ##################################################  

    37. #   Add Sampledirectory Alias 其中"D:/wamp/www/asp/"为asp文件所在的目录,需自己修改。

    38. ##################################################  

    39. <Directory "D:/wamp/bin/ActiveHTML">  

    40. Options Indexes MultiViews FollowSymLinks  

    41. AllowOverride None  

    42. Order allow,deny  

    43. Allow from all  

    44. </Directory>  

    45.   

    46. Alias /asp/ "D:/wamp/www/asp/"  

    47. <Directory "D:/wamp/www/asp/">  

    48. Options Indexes MultiViews FollowSymLinks  

    49. AllowOverride all  

    50. Order allow,deny  

    51. Allow from all  

    52. </Directory>  

    同样的,在apache的主配置文件httpd.conf 里适当的位置加入代码

    XML/HTML代码

    1. # ASP ,写在httpd.conf 最后适当的位置。 只是为了规范。

    2. Include conf/extra/httpd-ahtml.conf

    然后,重启apache,现在/www/asp/目录已经可以解析.asp文件了。:)

    PS

    文中提及的配置文件.conf 及其mod,ActiveHTML,下载:extra.rar

    其它的方法:

    ==================Apache支持ASP===================

    前言:
    好多人都在寻找apache下支持asp的方法,有的无非要建两个端口,通过代理实现支持asp,执行效率不是太好,现在终于有一种新的办法,通过模块实现支持asp,简单,直接.其实这个方法以前就有过,不过说的很含糊,很多地方需要更正,而且年久失传,原有的地址都找不到了,我翻遍了搜索引擎,终于在一个台湾的论坛找到了那个组件,自己亲自调试了下,现在把自己的成功经验与落伍的兄弟们分享.

    ①首先下载一个组件,这个是关键,也就是好多人寻找的东西

    下载: http://mis.enc.hlc.edu.tw/upload/files/openasp-b1-win32.zip
    ②下载完apasp.DLL后,放置在apahce的modules文件夹,在httpd.conf的最下面(一定要在最下面,不然就没效果了)加入这一行:

    LoadModule asp_module modules/apasp.DLL

    ③在httpd.conf中 <IfModule mod_mime.c>和</IfModule>之间的某个合适位置加入

    AddType text/x-asp .asp

    其实最好在AddType application/x-httpd-php .php下方加入,这样apache就能解释asp扩展名的文件了.

    重新启动下apache,放个探针试下,是不是支持asp了?是不是很简单?

    我的apache版本是1.33,这个组件好象只支持1.3的版本.

  • 对常见的WEB服务器和应用服务器的介绍

    2009-01-24 15:36:21

           在UNIX和LINUX平台下使用最广泛的免费HTTP服务器是W3C、NCSA和APACHE服务器,而Windows平台NT/2000/2003使用IIS的WEB服务器。

      在选择使用WEB服务器应考虑的本身特性因素有:性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等,下面介绍几种常用的WEB服务器。

      ① Microsoft IIS

      Microsoft的Web服务器产品为Internet Information Server (IIS), IIS 是允许在公共Intranet或Internet上发布信息的Web服务器。IIS是目前最流行的Web服务器产品之一,很多著名的网站都是建立在IIS的平台上。IIS提供了一个图形界面的管理工具,称为 Internet服务管理器,可用于监视配置和控制Internet服务。

      IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。它提供ISAPI(Intranet Server API)作为扩展Web服务器功能的编程接口;同时,它还提供一个Internet数据库连接器,可以实现对数据库的查询和更新。

      ② IBM WebSphere

      WebSphere Application Server 是 一 种功能完善、开放的Web应用程序服务器,是IBM电子商务计划的核心部分,它是基于 Java 的应用环境,用于建立、部署和管理 Internet 和 Intranet Web 应用程序。 这一整套产品进行了扩展,以适应 Web 应用程序服务器的需要,范围从简单到高级直到企业级。

      WebSphere 针对以 Web 为中心的开发人员,他们都是在基本 HTTP服务器和 CGI 编程技术上成长起来的。IBM 将提供 WebSphere 产品系列,通过提供综合资源、可重复使用的组件、功能强大并易于使用的工具、以及支持 HTTP 和 IIOP 通信的可伸缩运行时环境,来帮助这些用户从简单的 Web 应用程序转移到电子商务世界。

    WebLogic Server 是一种多功能、基于标准的web应用服务器,为企业构建自己的应用提供了坚实的基础。各种应用开发、部署所有关键性的任务,无论是集成各种系统和数据库,还是提交服务、跨 Internet 协作,起始点都是 BEA WebLogic Server。由于 它具有全面的功能、对开放标准的遵从性、多层架构、支持基于组件的开发,基于 Internet 的企业都选择它来开发、部署最佳的应用。

      BEA WebLogic Server 在使应用服务器成为企业应用架构的基础方面继续处于领先地位。BEA WebLogic Server 为构建集成化的企业级应用提供了稳固的基础,它们以 Internet 的容量和速度,在连网的企业之间共享信息、提交服务,实现协作自动化。BEA WebLogic Server 的遵从 J2EE 、面向服务的架构,以及丰富的工具集支持,便于实现业务逻辑、数据和表达的分离,提供开发和部署各种业务驱动应用所必需的底层核心功能。

      ④ IPlanet Application

      IPlanet Application Server作为Sun与Netscape联盟产物的iPlanet公司生产的iPlanet Application Server 满足最新J2EE规范的要求。它是一种完整的WEB服务器应用解决方案,它允许企业以便捷的方式,开发、部署和管理关键任务 Internet 应用。该解决方案集高性能、高度可伸缩和高度可用性于一体,可以支持大量的具有多种客户机类型与数据源的事务。

      iPlanet Application Server的基本核心服务包括事务监控器、多负载平衡选项、对集群和故障转移全面的支持、集成的XML 解析器和可扩展格式语言转换(XLST)引擎以及对国际化的全面支持。iPlanet Application Server 企业版所提供的全部特性和功能,并得益于J2EE系统构架,拥有更好的商业工作流程管理工具和应用集成功能。

    ⑤Oracle IAS

      Oracle iAS的英文全称是Oracle Internet Application Server,即Internet应用服务器,Oracle iAS是基于Java的应用服务器,通过与Oracle 数据库等产品的结合,Oracle iAS能够满足Internet应用对可靠性、可用性和可伸缩性的要求。

      Oracle iAS最大的优势是其集成性和通用性,它是一个集成的、通用的中间件产品。在集成性方面,Oracle iAS将业界最流行的HTTP服务器Apache集成到系统中,集成了Apache的Oracle iAS通信服务层可以处理多种客户请求,包括来自Web浏览器、胖客户端和手持设备的请求,并且根据请求的具体内容,将它们分发给不同的应用服务进行处理。在通用性方面,Oracle iAS支持各种业界标准,包括 JavaBeans、CORBA、Servlets以及XML标准等,这种对标准的全面支持使得用户很容易将在其他系统平台上开发的应用移植到Oracle平台上。

      ⑥ Apache

      Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。

      Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,世界上很多著名的网站都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。

      ⑦ Tomcat

      Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat Server是根据servlet和JSP规范进行执行的,因此我们就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。

      Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的自由软件。Tomcat是完全重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码,特别是Apache服务适配器。随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此目前许多WEB服务器都是采用Tomcat。

Open Toolbar