【问题标题】:Deploying Mono MVC in shared hosting environment在共享主机环境中部署 Mono MVC
【发布时间】:2012-12-21 21:03:02
【问题描述】:

我没有在 serverfault 上发帖,因为该应用程序正在开发中,我需要在 Mono 中对其进行测试,但它也可能适合那里...

我不想问是否可以在 Apache2 VirtualHost 上部署 ASP.NET MVC 网站,因为它是,但我想问的是是否可以在不干扰 PHP 配置的情况下。

长问题

Apache 的默认 PHP 配置如下所示

<IfModule mod_php5.c>
        AddHandler application/x-httpd-php .php4
        AddHandler application/x-httpd-php .php5
        AddHandler application/x-httpd-php .php
        AddHandler application/x-httpd-php-source .php4s
        AddHandler application/x-httpd-php-source .php5s
        AddHandler application/x-httpd-php-source .phps
        DirectoryIndex index.php4
        DirectoryIndex index.php5
        DirectoryIndex index.php
</IfModule>

这告诉 Apache .php 文件是 PHP 脚本。

好的...

现在,如果我在服务器上启用 mod_mono,它会将 .aspx 文件映射到 Mono。没关系。

但是,当我使用非常适合 PHP 的准系统配置启用测试主机 VirtualHost(如果您介意美元的话,它基于 mod_macro

<VirtualHost *:80>
    ServerName www.$name
    ServerAlias $name

    <IfModule mpm_itk_module>
        AssignUserID $user $user

    </IfModule>


    ErrorLog /path/tp/$name/logs/error_log
    CustomLog /path/to/$name/logs/access_log combined


    DocumentRoot /path/to/$name/htdocs
    ServerAdmin email@email
</VirtualHost>

然后我收到默认控制器的 404 错误。

我知道我可以在我自己的测试服务器上简单地说SetHandler mono,然后瞧。但是这个问题会影响通用托管。另外,我自己可以得到答案:由于 Razor-MVC 中没有 .aspx 文件(或者更好的路径通过路由器映射到控制器),那么对于 Apache 无法识别为文件的所有内容,我显然会收到 404 错误.

如果我想将此 Mono 应用程序部署在由支持 Mono 的通用托管服务提供商运行的服务器上,反之亦然,如果我也想(在生产服务器上)为 PHP 和 Mono 提供托管服务,而无需更改配置根据客户的要求,我可以使用既满足 Mono 又运行 PHP 的 Apache 配置?

缩短的问题

如何配置 Apache2 一次,以便在同一 VirtualHost 上同时运行 PHP 和 Mono MVC,而无需根据编写应用程序的语言更改配置?

【问题讨论】:

    标签: mono asp.net-mvc-4 shared-hosting


    【解决方案1】:

    转到此配置器 http://go-mono.com/config-mod-mono/ 它基于 virtualHost 为 Apache2 提供自动生成配置。 现在我正在联合使用 mod_mono 和 mod_php5。

    【讨论】:

      猜你喜欢
      • 2018-04-29
      • 2013-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多