Apache2不加载模块mod_mono – CentOS 6

我已经在CentOS上编译并安装了Mono 3.0.6,XSP和mod_mono,主要遵循这些说明 。

我的VHOSTconfiguration如下:

<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.confconfiguration像这样:

 [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]# 

我究竟做错了什么? 我花了好几个小时的时间,在这里和networking的其他部分看了很多讨论,似乎没有什么能符合我的问题。

我相信你说mod_mono没有加载是正确的。 这是因为Apache他没有读你的configuration文件,因此从来没有收到LoadModule mono_module的指令。

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

Apache默认不读取/etc/httpd/conf/mod_mono.conf

你应该把mod_mono.conf移到/etc/httpd/conf.d ,在Apache被重新加载的时候它会被拾取。 通常,只有Apache的“main”configuration位于/etc/httpd/conf/ ,而新的自定义configuration文件,第三方configuration文件等位于/etc/httpd.conf.d下。

/etc/httpd/conf/httpd.conf主要HTTPDconfiguration文件应包含以下部分。 这告诉Apache在conf.d目录下寻找其他configuration文件。

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

有关更多信息,请参阅:

  • RHEL部署指南:第15章。Web服务器:15.1.5。 编辑configuration文件
  • 有关Include Apache Webserver文档 。