2012-10-18 4 views
5

다음 지침에 따라 병렬 Mono (2.11.3)를 설치했습니다. http://www.integratedwebsystems.com/2012/04/install-mono-2-11/ 이제이 Mono 인스턴스에서 ASP.NET 사이트를 실행하고 싶습니다. VS 2010에서 "인터넷 사이트"템플릿을 사용하여 빈 MVC 4 사이트를 만들고 Mono를 실행하는 Linux 상자에 게시했습니다.Mono 2.11 (nginx 또는 apache 포함)

xsp4를 실행하기 전에 환경 변수를 설정하려면 다음 지침 (http://www.integratedwebsystems.com/2011/06/get-mvc3-razor-running-on-mono/)에 따라 xsp4를 통해 실행하는 데 성공했습니다. 주요 문제없이 작동합니다 (CSS 번들과 같은 일부 새로운 기능은 작동하지 않지만 나중에 다루 겠습니다).

이제 저는 apache 또는 nginx와 같은 프로덕션 서버를 사용하고 싶습니다. 그러나, 그것은 거의 불가능한 것처럼 보이고, 나는이 문제가있는 유일한 사람이 아닌 것 같습니다. 예를 들어,이 간단한 nginx를 구성 502 잘못된 게이트웨이 오류에서

server 
{ 
    listen 80; 
    server_name mvctest.mono; 

    access_log /var/www/mvctest/log/access.log; 
    error_log /var/www/mvctest/log/error.log debug; 

    location/
    { 
      root /var/www/mvctest/; 
      index index.html index.htm default.aspx Default.aspx; 
      fastcgi_index /Home; 
      fastcgi_pass 127.0.0.1:9000; 
      include /etc/nginx/fastcgi_params; 
    } 
} 

결과를 사용하여 로그 파일을 말한다 "상류 예상치 못한 FastCGI를 기록을 보내 : 3 상류에서 응답 헤더를 읽는 동안". 아파치 + 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 /opt/mono-2.11/build/xsp-2.10.2/src/Mono.WebServer.Apache/main.cs:208 
at Mono.WebServer.Apache.Server+ApplicationSettings..ctor() [0x0002a] in /opt/mono-2.11/build/xsp-2.10.2/src/Mono.WebServer.Apache/main.cs:63 

오류,하지만 진짜 답을지나 이동하지 않았습니다. 그러나 일부 사용자는 이러한 서버를 사용하여 MVC4 사이트를 모노로 실행하는 데 성공했다고보고합니다. 따라서 구성 설정이나 단계별 지침을 공유하고 싶은지 궁금합니다.

답변

0

NONEx 구성 파일에서 어떤 포트 모노 서버가 수신 대기하는지 알아야하며 fastcgi_pass를 설정해야합니다.

5

설치 패키지가 일부 파일을 잘못된 위치에 배치하고 있습니다. Apache의 경우 modus-mono-server4.exe 파일을 /usr/lib/mono/4.0에서 /usr/lib/mono/4.5로 이동하고/usr/bin/mod- 모노 - 서버 4.

XSP 또는 FastCgi를 사용하는 경우 xsp4.exe 및 fastcgi-mono-server4.exe와 각각의 참조가/usr/bin에서 동일하게 처리되어야합니다.

나는이 문제에 대해 전문가가 아니에요

0

(I ... 나는이 모노 길을 따라 후회하기 시작하고있다)하지만 다음의 nginx 구성 (약간 다른 구성에서 나를 위해의 nginx + 모노 작동 2.10 + F 번호의 +의 websharper는) :

물론
server { 
    listen 80; 
    access_log /var/log/myapp/access.log; 

    location/{ 
      root /opt/myapp; 
      index index.html index.htm default.aspx Default.aspx; 
      fastcgi_pass unix:/var/run/myapp/fastcgisocket; 
      include /etc/nginx/fastcgi_params; 
    } 
} 

의 FastCGI를 모노 서버 소켓은/var/실행/MyApp를/fastcgisocket를 사용하도록 구성해야합니다.

이 소켓에 대한 r/w 권한에주의해야합니다.

여전히 nginx가 fastcgi-mono-server와 병행하여 처리해야 할 여러 요청을 보내지 않지만이 외에도 nginx는 훌륭하게 작동합니다.

도움이되기를 바랍니다.

1

여기에 내 Mono 3.0.3/MVC 3/Nginx 문제를 해결 한 script이 있습니다. 필요한 파일을 복사 한 후 사이트가 정상적으로 작동합니다.