我正在运行带有 Centos 6.3 和 WHM 11.34.1 (build 11) 的 VPS。我希望使用 mod_mono 来托管 ASP.NET 4 应用程序。
(背景:我正在用 ASP.NET MVC 4 重写一个业余 PHP 网站,并希望将其托管在同一台机器上。我想避免租用另一台机器,因为除了网站之外,我还在这台服务器上运行其他东西。)
首先,我尝试了最明显的步骤,并使用 easyapache 添加 mod_mono 支持。然而,这失败了,因为 WHM 支持的最新版本的 mono 是 2.6.7,它支持 ASP.NET 2。后来添加了 ASP.NET 4 支持。看到这是一条死路,我从 WHM 中卸载了 mod_mono。
接下来,我决定手动安装 mod_mono 2.10.2(带有 mono 2.11.something)。这是一个痛苦的过程,涉及最黑暗的魔法,但最终我成功编译了它。它运行良好,但我无论如何也无法让它使用 ASP.NET 4 而不是 2。
我已经设置了我的配置如下:
/usr/local/apache/conf/httpd.conf - 与 WHM 默认值相比没有变化。
/usr/local/apache/conf/includes/pre_main_global.conf: - WHM 在 httpd.conf 顶部附近添加了此文件的包含
Include /usr/local/apache/conf/mod_mono.conf
#this should make it use ASP.NET 4
MonoServerPath /usr/bin/mod-mono-server4
/etc/httpd/conf/userdata/std/2/sitename/beta_asp.conf - WHM 在<VirtualHost>
指令中包含此内容
Alias /beta /home/sitename/public_html_beta
AddMonoApplications default "/beta:/home/sitename/public_html"
<Location /beta>
SetHandler mono
</Location>
我做错了什么?mod_mono 相当于将应用程序池更改为 v4 吗?