Apache2 无法加载模块 mod_mono - CentOS 6

Apache2 无法加载模块 mod_mono - CentOS 6

我在 CentOS 上编译并安装了 Mono 3.0.6、XSP 和 mod_mono,主要遵循以下原则这些说明

我的 VHOST 配置如下:

<VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot /var/www/mvcgui/wwwroot
        ServerName 192.168.40.132
#       ServerAlias example.com
        ErrorLog /var/www/mvcgui/error.log
        CustomLog /var/www/mvcgui/requests.log combined
        MonoServerPath mvcgui "/opt/mono/bin/mod-mono-server4"
        MonoDebug mvcgui true
        MonoSetEnv mvcgui MONO_IOMAP=all
        MonoApplications mvcgui "/:/var/www/mvcgui/wwwroot"
</VirtualHost>

但是当我尝试启动 httpd 服务时,出现错误:

Invalid command 'MonoServerPath', perhaps misspelled or defined by a module not included in the server configuration

所以我认为我的 mod_mod 没有加载,但我确实有一个像这样配置的 /etc/httpd/conf/mod_mono.conf:

[root@dev-server httpd]# cat /etc/httpd/conf/mod_mono.conf
# mod_mono.conf

# Achtung! This file may be overwritten
# Use 'include mod_mono.conf' from other configuration file
# to load mod_mono module.

<IfModule !mod_mono.c>
    LoadModule mono_module /usr/lib/httpd/modules/mod_mono.so
</IfModule>

<IfModule mod_headers.c>
    Header set X-Powered-By "Mono"
</IfModule>

AddType application/x-asp-net .aspx
AddType application/x-asp-net .asmx
AddType application/x-asp-net .ashx
AddType application/x-asp-net .asax
AddType application/x-asp-net .ascx
AddType application/x-asp-net .soap
AddType application/x-asp-net .rem
AddType application/x-asp-net .axd
AddType application/x-asp-net .cs
AddType application/x-asp-net .vb
AddType application/x-asp-net .master
AddType application/x-asp-net .sitemap
AddType application/x-asp-net .resources
AddType application/x-asp-net .skin
AddType application/x-asp-net .browser
AddType application/x-asp-net .webinfo
AddType application/x-asp-net .resx
AddType application/x-asp-net .licx
AddType application/x-asp-net .csproj
AddType application/x-asp-net .vbproj
AddType application/x-asp-net .config
AddType application/x-asp-net .Config
AddType application/x-asp-net .dll
DirectoryIndex index.aspx
DirectoryIndex Default.aspx
DirectoryIndex default.aspx
[root@dev-server httpd]#

我做错了什么?我花了好几个小时来解决这个问题,也查看了这里和网络上其他地方的许多讨论,但似乎没有什么能解决我的问题。

答案1

我认为你说的 mod_mono 没有加载是正确的。这是因为 Apache 没有读取你的配置文件,因此永远不会收到 的指令LoadModule mono_module

但是我有一个 /etc/httpd/conf/mod_mono.conf

/etc/httpd/conf/mod_mono.confApache默认不会读取。

您应该将 mod_mono.conf 移至/etc/httpd/conf.d,Apache 重新加载时它将被拾取。通常只有 Apache 的“主”配置位于 下/etc/httpd/conf/,而您的新自定义、第三方配置文件等位于 下/etc/httpd.conf.d

您的主要 HTTPD 配置文件/etc/httpd/conf/httpd.conf应包含如下部分。这会告诉 Apache 在 conf.d 目录下查找其他配置文件。

#
# Load config files from the config directory "/etc/httpd/conf.d".
#
Include conf.d/*.conf

有关详细信息,请参阅:For more information, see:

相关内容