多个MVC应用程序的Apache mod_mono设置,无需编辑apache config

时间:2016-06-01 13:01:05

标签: apache mono raspberry-pi mod-mono raspberry-pi3

我正在运行Raspbian Jesse的Raspberry PI 3上使用Apache和mod_mono设置单声道服务器。我已经安装了mono和mod_mono,并且运行正常。

这是我想要的文件夹结构

  • 的/ var / www / html等
    • App1的
    • App2的

我想配置Apache,以便我可以简单地将新的.NET mvc3应用程序复制到/ var / www / html下面的文件夹中(即/ var / www / html / App1),以及每个应用程序将自动开始作为MVC3应用程序工作,而无需为每个应用程序的apache配置添加条目。

MonoAutoApplication enabled在这种情况下不起作用,因为我没有提供.aspx页面(或任何其他.net文件),而是这些是MVC应用程序。

这种方法的好处是我可以在版本控制中保留每个应用程序的配置文件。然后,从头开始服务器时,部署应用程序时需要完成的配置较少。

关于如何处理这个的任何想法?

1 个答案:

答案 0 :(得分:0)

这里做了一些假设。

  • 应用程序只会直接发布在/ var / www / html下面。例如,/ var / www / html / app1,/ var / www / html / app2
  • 每个应用程序都会在其根文件夹中提供mod_mono.conf文件。例如,/ var / www / html / app1 / mod_mono.conf
  • 每个应用的mod_mono.conf必须知道应用的绝对路径。
  • 部署新应用后,必须重新加载apache服务器。没有办法解决这个问题。

在apache2.conf结束时,添加以下内容:

/etc/apache2/apache2.conf中

#define the default mono server
MonoServerPath default /usr/bin/mod-mono-server4
#include all config files from all mono apps
IncludeOptional "/var/www/html/*/mod_mono.con[f]"
#prevent web access to mod_mono.conf files
<Files ~ "mod_mono.conf">
    Order allow,deny
    Deny from all
</Files>

然后对于每个应用程序,添加此mod_mono.conf,相应地更改文件夹的路径 /var/www/html/app1/mod_mono.conf

AddMonoApplications default "/app1:/var/www/html/app1"
<Location /app1>
    SetHandler mono
</Location>