我在配置 mod_mono 和 apache 以使其正常工作时遇到了很大的问题。我曾经让它们工作过,但我似乎无法弄清楚我哪里出了问题。我使用的是 mono-server4。
我正在尝试使用与主网站不同的端口。因此,我在 /etc/apache2/sites-available(带有来自 sites-enabled 的链接)中有一个如下所示的 vhost 配置:
<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
答案1
愚蠢的问题,你的 Apache 配置中有这个吗?
NameVirtualHost *:9999
Listen 9999