Eu preciso implantar um aplicativo ASP.NET MVC4 (MVC3 pelo menos) no servidor Centos 6.
Instalei o Mono 3.2.1, XSP4, mod_mono (para uso com o servidor da web apache) e executei com êxito o aplicativo de teste que acompanha o mono. Eu usei uma ferramenta de configuração para criar uma configuração para o diretório de aplicativos e implantei um projeto ASP.NET WebPages vazio criado no VS2012 no .net 2.0 - ele rodou ok. Mas eu preciso executar um .net 4.5 ou pelo menos 4.0 aplicativo, então eu defini o MonoServerPath para mod-mono-server4 em vez de mod-mono-server2 na configuração, mas agora estou recebendo um "serviço temporariamente indisponível "erro ao tentar acessar o diretório do projeto asp.net (mesmo vazio).
O que devo verificar?
Atualização: eu verifiquei o log do apache e aqui o que ele mostra:
mod-mono-server4
Exception caught during reading the configuration file:
System.MissingMethodException: Method not found: 'System.Configuration.IConfigurationSectionHandler.Create'.
at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (System.String configKey) [0x00000] in <filename unknown>:0
at System.Configuration.ConfigurationManager.GetSection (System.String sectionName) [0x00000] in <filename unknown>:0
at System.Configuration.ConfigurationManager.get_AppSettings () [0x00000] in <filename unknown>:0
at Mono.WebServer.Apache.Server.get_AppSettings () [0x00001] in /usr/src/xsp-2.10.2/src/Mono.WebServer.Apache/main.cs:208
at Mono.WebServer.Apache.Server+ApplicationSettings..ctor () [0x0002a] in /usr/src/xsp-2.10.2/src/Mono.WebServer.Apache/main.cs:63
mod-mono-server4
Listening on: /tmp/mod_mono_server_Unreal
Root directory: /var/www/html/Unreal
Error: An exception was thrown by the type initializer for System.Net.Sockets.Socket
mod-mono-server4
Exception caught during reading the configuration file:
System.MissingMethodException: Method not found: 'System.Configuration.IConfigurationSectionHandler.Create'.
at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (System.String configKey) [0x00000] in <filename unknown>:0
at System.Configuration.ConfigurationManager.GetSection (System.String sectionName) [0x00000] in <filename unknown>:0
at System.Configuration.ConfigurationManager.get_AppSettings () [0x00000] in <filename unknown>:0
at Mono.WebServer.Apache.Server.get_AppSettings () [0x00001] in /usr/src/xsp-2.10.2/src/Mono.WebServer.Apache/main.cs:208
at Mono.WebServer.Apache.Server+ApplicationSettings..ctor () [0x0002a] in /usr/src/xsp-2.10.2/src/Mono.WebServer.Apache/main.cs:63
mod-mono-server4
Listening on: /tmp/mod_mono_server_Unreal
Root directory: /var/www/html/Unreal
Error: An exception was thrown by the type initializer for System.Net.Sockets.Socket
mod-mono-server4
Exception caught during reading the configuration file:
System.MissingMethodException: Method not found: 'System.Configuration.IConfigurationSectionHandler.Create'.
at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (System.String configKey) [0x00000] in <filename unknown>:0
at System.Configuration.ConfigurationManager.GetSection (System.String sectionName) [0x00000] in <filename unknown>:0
at System.Configuration.ConfigurationManager.get_AppSettings () [0x00000] in <filename unknown>:0
at Mono.WebServer.Apache.Server.get_AppSettings () [0x00001] in /usr/src/xsp-2.10.2/src/Mono.WebServer.Apache/main.cs:208
at Mono.WebServer.Apache.Server+ApplicationSettings..ctor () [0x0002a] in /usr/src/xsp-2.10.2/src/Mono.WebServer.Apache/main.cs:63
mod-mono-server4
Listening on: /tmp/mod_mono_server_Unreal
Root directory: /var/www/html/Unreal
Error: An exception was thrown by the type initializer for System.Net.Sockets.Socket
[Wed Sep 25 08:45:13 2013] [error] Failed to connect to mod-mono-server after several attempts to spawn the process.
Atualização 2
Bem, depois de procurar no Google, encontrei a solução ...
Para corrigir isso vc tem que copiar mod-mono-server4.exe de /opt/mono/lib/mono/4.0 (ou onde quer que você tenha instalado) para / opt / mono / lib / mono / 4.5 e depois editar o mod-mono-server4 em / opt / mono / bin a partir de
exec /opt/mono/bin/mono $MONO_OPTIONS "/opt/mono/lib/mono/4.0/mod-mono-server4.exe" "$@"
para
exec /opt/mono/bin/mono $MONO_OPTIONS "/opt/mono/lib/mono/4.5/mod-mono-server4.exe" "$@"