1

好吧,我已经花了很长时间试图解决这个问题,但我找不到解决方案。我要做的是让我的 Apache 服务器同时托管 PHP 和 ASP.NET 文件。所以我用谷歌搜索了一下,发现 Apache 的 mod_mono 是可行的方法。我使用了这个链接(但更改了版本)并且能够成功安装支持 .Net 4.0 的 Mono 版本 2.10.2(通过使用 mono -V 确认)。太好了,现在我需要配置我的 vHost(命名主机)以将 .NET 站点指向正确的文件夹。我使用单声道配置生成器来获取它并在 Apache 中添加/启用该站点(将在下面发布配置文件的淡化版本)。现在在这一点上,事情变得有点时髦。

1)我的虚拟主机不能再有 *:80 指令......我需要放置服务器 IP。这不是什么大问题,但我觉得这很有趣。如果我将站点的 VirtualHost 之一更改为 *:80,则所有站点都已关闭。此外,我必须将 NameVirtualHost XXX.XXX.XXX.XXX 行放入 apache2.conf 文件中才能使其正常工作。

2)我的 PHP 网站都运行良好,但我取决于我是使用Mono Auto Configuration(答案)还是“默认”(类似于问题中的数据)配置,我要么得到“服务器暂时无法服务”由于维护停机或容量问题,您的请求。请稍后再试。” 错误或“内部服务器错误”。

所以,基本上,我非常确定我只是在某个地方搞砸了配置,我需要你的帮助来弄清楚这些东西在哪里滚动!我会为您提供您需要的任何东西,所以如果我错过了以下内容,请联系我。

服务器统计: Ubuntu 10.04 服务器版 Apache 2 PHP Mono 2.10.2

example.com 配置(/etc/apache/sites-enabled)

<VirtualHost XXX.XXX.XXX.XXX>
ServerName example.com
DocumentRoot /var/www/example
</VirtualHost>

mod_mono.conf (/etc/apache2/mods-enabled)

<IfModule !mono_module>
    LoadModule mono_module "libexec/apache2/mod_mono.so"
</IfModule>

<IfModule mono_module>
    AddType application/x-asp-net .config .cs .csproj .dll .resources .resx .sln .vb .vbproj
    AddType application/x-asp-net .asax .ascx .ashx .asmx .aspx .axd .browser .licx .master .rem .sitemap .skin .soap .webinfo

    MonoAutoApplication enabled
    MonoDebug true
    MonoServerPath "/usr/bin/mod-mono-server4"
    MonoSetEnv LANG=en_US.UTF-8
    MonoUnixSocket "/tmp/.mod_mono"

    <IfModule dir_module>
        DirectoryIndex Default.aspx
    </IfModule>

    <DirectoryMatch "/(bin|App_Code|App_Data|App_GlobalResources|App_LocalResources)/">
        Order deny,allow
        Deny from all
    </DirectoryMatch>

    <Location "/Mono">
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1 ::1
        SetHandler mono-ctrl
    </Location>
</IfModule>
4

1 回答 1

2

今天早上我再次检查了这些日志,我看到一个隐藏在一堆“丢失的图标”错误中:'/usr/bin/mod-mono-server4 - 文件或文件夹不存在“。所以我做到了一个

find / -name mod-mono-server* 

果然,我唯一的问题是我列出的文件位置。

这里的解决方案是更改行:

MonoServerPath "/usr/bin/mod-mono-server4"

到线

MonoServerPath "/usr/local/bin/mod-mono-server4"
于 2012-05-14T13:48:42.383 回答