0

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

这是我想要的文件夹结构

  • /var/www/html
    • 应用程序1
    • 应用程序2

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

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

这种方法的好处是我可以将此配置文件与每个应用程序一起保存在版本控制中。然后,当从头开始启动服务器时,部署应用程序时需要完成的配置更少。

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

4

1 回答 1

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>
于 2016-06-01T13:01:05.423 回答