好吧,已经有很长一段时间试图解决这个问题,我找不到解决方案。我要做的是允许我的Apache服务器托管PHP和ASP.NET文件。所以我google了一下,发现Apache的mod_mono是要走的路。我使用this链接(但更改了版本)并能够成功安装支持.Net 4.0的Mono版本2.10.2(使用mono -V确认)。太棒了,现在我需要配置我的vHosts(命名主机)以将.NET站点指向正确的文件夹。我使用单声道配置制造商来获取并在Apache中添加/启用该站点(将在下面发布配置文件的淡化版本)。现在,在这一点上,事情变得有点时髦。
1)我的虚拟主机不再具有*:80指令......我需要改为使用服务器IP。这不是一个大问题,但我觉得很有趣。如果我将其中一个网站的VirtualHost更改为*:80,则所有网站都已关闭。此外,我不得不将NameVirtualHost XXX.XXX.XXX.XXX行放入apache2.conf文件中以使其工作。
2)我的PHP网站都运行良好,但我依赖于我是使用Mono Auto Configuration(答案)还是"Default"(类似问题中的数据)配置,我要么得到一个“由于维护停机或容量问题,服务器暂时无法为您的请求提供服务。请稍后再试。“错误或“内部服务器错误”。
所以,基本上,我非常确定我已经搞砸了某个地方的配置,我需要你的帮助来弄清楚在哪里并让这些东西滚动!我会为你提供你需要的任何东西,所以如果我错过了下面的东西,请打我。
服务器统计信息: Ubuntu 10.04服务器版 Apache 2 PHP 单声道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>
答案 0 :(得分:2)
我今天早上再检查这些日志,我看到一个隐藏在一堆“缺少的favicon”错误中:'/ usr / bin / mod-mono-server4 - 文件或文件夹不存在“。所以我做了一个
find / -name mod-mono-server*
果然,我唯一的问题是我列出的文件位置。
这里的决议是改变这条线:
MonoServerPath "/usr/bin/mod-mono-server4"
到
行MonoServerPath "/usr/local/bin/mod-mono-server4"