zoukankan      html  css  js  c++  java
  • [翻译]在云端Host FastCGI 应用

          原文链接:Hosting FastCGI Applications   

          Windows Azure 支持 Internet Information Server (IIS) 7.0 FastCGI模块,
    以便于开发者运行那些使用解释型语言开发的应用,比如:PHP或本地化代码.
         为获取一个运行FastCGI 应用web role宿主,您必须:   

        .  在service定义文件中设置enableNativeCodeExecution
        .  在开发环境和Windows Azure启用FastCGI 
        .  打包您项目中要用的解析器

        
         IIS 7.0支持FastCGI 的标准实现。更多关于FastCGI使用的详细信息,参见说明
    文档。 http://www.fastcgi.com/drupal/node/6

        
    启用FastCGI

        要启用IIS FastCGI模块,请按下列步骤:
       . 在IIS上启用CGI。更多信息参见 Getting Started with the Windows Azure SDK   
       . 安装IIS 7.0中的如下FastCGI 工具:http://support.microsoft.com/kb/967131.
       . 添加一个名为web.roleConfig的配置文件到您的项目中。
       . 配置FastCGI handlers。


    创建web.roleConfig 文件
         使用web.roleConfig文件可以自动化配置IIS以便于在您的本地开发环境和Windows
    Azure运行FastCGI。该文件中的路径设置指向您所使用的web role的解析器。 
     

         要启用FastCGI,请在您的根目录下包含该web.roleConfig文件并与项目一起打包
    发布。注意web.roleConfig是一个可选文件,它仅在您启用FastCGI时才需要。

         在您的 web.roleConfig文件中,指定解析器的绝对路径。要指定该路径,可以在
    析器文件名称前加上%RoleRoot%环境变量。%RoleRoot% 变量会返回当前正在运行的
    role所在的绝对路径。该路径对应您web role项目的根目录,同时也是项目web.config
    文件和web.roleConfig的所在位置。


         下面是一些正确的web.roleConfig文件示例。在您的文件中,用相对路径和解析器
    文件名称来替换myinterpreter.exe。

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      
    <system.webServer>
        
    <fastCgi>
          
    <application fullPath="%RoleRoot%\myinterpreter.exe"/>
        
    </fastCgi>
        
    </system.webServer>
    </configuration>


         如你正在使用Visual Studio来开发和调试您的 web role,请确保在Build Action
    属性页中的Content里使用web.roleConfig。要设置Build Action,在该解决方案浏览器
    中右击该文件名,选择Properties,然后选择Build Action中Content的值。


         当您要在开发环境或Windows Azure中发布该项目时,web.roleConfig的值将会合
    到IISapplicationHost.config文件中,然后启用CGI。


    注意:

         在web.roleConfig文件中仅限使用FastCGI的设置。在Windows Azure中,不能
    添加其它的服务器设置用于间接配置applicationHost.config文件。 
     

    为FastCGI配置Handlers
         一个handler用于处理一种特定的资源请求。当一个包含文件扩展名的请求被服务器
    处理时,通过配置handler,您可以指示解析器处理特定的扩展名文件。比如,当您想使
    用PHP解析器来处理包有以.php为扩展名的请求时,您可以创建handler来通知IIS将这些
    请求交由该解析器进行处理。

         您可在项目的web.config文件里配置,在System.webServer节点下设置web role
    运行FastCGI应用。FastCGI模块会使用您所创建的FastCGI handler来处理每个请求。

         要想向web.config文件中添加handlers,需要将handlers元素放在system.webServer
    元素中。下面的例子显示如何添加一个.php文件扩展handler。

    <system.webServer>

      
    <handlers>
      …
        
    <add name="PHP via FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="%RoleRoot%\php\php-cgi.exe" resourceType="Unspecified" />
      
    </handlers>
    </system.webServer>

    See IIS 7.0: handlers Element (IIS Settings Schema)


    将解析器与项目一起打包
        你必须将要使用的FastCGI与您的项目放在一起。为了让Windows Azure支持该解析器,
    须以xcopy方式进行布署。

        解析器的位置要对应相对路径和文件名。而该文件名就是在webRole.config中指定的
    应用程序的完整路径属性。

        作者: daizhj,代震军,LaoD

        Tags: FastCGI,php,Host

        网址: http://daizhj.cnblogs.com/

        原文链接:http://www.cnblogs.com/daizhj/archive/2009/06/24/1510089.html

  • 相关阅读:
    网络编程之粘包问题
    网络编程初识和socket套接字
    面向对象三大特性
    面向对象进阶
    面向对象初接触
    常用模块(模块初步了解)
    异常处理
    Ubutu Chrome 出现adobe flash is out of date的解决方法
    cmder默认的命令提示符λ改成$
    css在盒子中垂直居中和固定居中
  • 原文地址:https://www.cnblogs.com/daizhj/p/1510089.html
Copyright © 2011-2022 走看看