我在配置 mod_mono 和 apache 以正常工作时遇到了很大的问题。我曾经有过这个工作,但我似乎无法弄清楚我哪里出错了。我正在使用 mono-server4。
我正在尝试使用与主网站不同的端口。所以我在 /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 配置中有这个吗?