Apache-2.2

使用 mod_mono 為 .net 應用程序配置 apache

  • June 28, 2012

我在將 mod_mono 和 apache 配置為正常工作時遇到了很大的問題。我曾經有過這個工作,但我似乎無法弄清楚我哪裡出錯了。我正在使用單伺服器4。

我正在嘗試使用與主網站不同的埠。所以我在 /etc/apache2/sites-available (帶有啟用站點的連結)中有一個如下所示的虛擬主機配置:

<VirtualHost *:9999>
 ServerName XXX
 ServerAdmin web-admin@XXX
 DocumentRoot /var/xxx

 MonoServerPath XXX "/usr/bin/mod-mono-server4"
 MonoDebug XXX true
 MonoSetEnv XXX MONO_IOMAP=all
 MonoApplications XXX "/:/var/xxx"
 <Location "/">
   Allow from all
   Order allow,deny
   MonoSetServerAlias XXX
   SetHandler mono
   SetOutputFilter DEFLATE
   SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip dont-vary
 </Location>
 <IfModule mod_deflate.c>
   AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript
 </IfModule>
</VirtualHost>

我使用 mono-server4-admin 創建應用程序

mono-server4-admin --path=/var/xxx --app=/XXX --port=9999

當我啟動apache時,它給出了錯誤:

Syntax error on line 13 of /etc/apache2/sites-enabled/xxx:
Server alias 'XXX, not found.

這對應於 MonoSetServerAlias 語句。所以我把它註釋掉了,當我這樣做時,apache 就開始了。但是,當我嘗試訪問該站點時,我收到 500 錯誤。

訪問日誌表明它正在嘗試訪問埠 80 上的應用程序,而不是 9999。我不確定問題出在哪裡。 誰能幫我弄清楚我哪裡出錯了?

我的 mono-server4-hosts.conf 包含以下內容:

# start /etc/mono-server4/conf.d/RMRSite/10_XXX
    Alias /XXX "/var/xxx"
    AddMonoApplications default "/XXX:/var/xxx"
      <Directory /var/xxx>
        SetHandler mono
          <IfModule mod_dir.c>
             DirectoryIndex index.aspx
          </IfModule>
      </Directory>
# end /etc/mono-server4/conf.d/XXX/10_XXX

此外,我的 /etc/mono-server4/conf.d/XXX/10_XXX 包含以下內容:

This is the configuration file
for the XXX virtualhost
path = /var/xxx
alias = /XXX
vhost = localhost
port = 9999

愚蠢的問題,你的 Apache 配置中有這個嗎?

NameVirtualHost *:9999
Listen 9999

引用自:https://serverfault.com/questions/403201