2012-10-18 13 views
5

Mam zainstalowany równolegle mono (2.11.3) zgodnie z poniższymi instrukcjami: http://www.integratedwebsystems.com/2012/04/install-mono-2-11/ Teraz chcę uruchomić mojej strony ASP.NET na ten przykład Mono. Stworzyłem pustą stronę MVC 4 za pomocą szablonu "strona internetowa" w VS 2010 i opublikowałem ją na Linux-ie z uruchomionym Mono.Mono 2.11 z nginx lub apache

Udało mi się uruchomić to przez xsp4 postępując zgodnie z tymi instrukcjami (http://www.integratedwebsystems.com/2011/06/get-mvc3-razor-running-on-mono/), aby skonfigurować zmienne środowiskowe przed uruchomieniem xsp4. Działa bez większych problemów (widzę, że niektóre nowe funkcje, takie jak pakowanie CSS, nie działają, ale zajmie mi to później).

Teraz chciałbym użyć serwera produkcyjnego, takiego jak Apache lub Nginx. Wydaje się jednak prawie niemożliwe i wydaje się, że nie jestem jedynym z tym problemem. Na przykład za pomocą tej prostej konfiguracji nginx

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; 
    } 
} 

wyniki w błąd 502 Bad Gateway i plik log mówi „upstream wysłał nieoczekiwany rekord FastCGI: 3 podczas czytania nagłówka odpowiedzi od góry”. Jak dla Apache + mod_mono_server4, jeszcze nie minął błędu

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 

Istnieje wiele postów na ten temat, nawet tutaj na Stackoverflow, ale nie ma prawdziwych odpowiedzi. Jednak niektórzy użytkownicy zgłaszają, że udało im się uruchomić witryny MVC4 na mono z tymi serwerami, więc zastanawiałem się, czy ktokolwiek chciałby udostępnić swoje ustawienia konfiguracyjne lub instrukcje krok po kroku?

Odpowiedz

0

Musisz wiedzieć, który serwer portów mono nasłuchiwał, i ustawić fastcgi_pass na to w pliku konfiguracyjnym Nginx.

5

Pakiet instalacyjny umieszcza niektóre pliki w niewłaściwym miejscu. W przypadku Apache'a, musisz przenieść plik mod-mono-server4.exe z /usr/lib/mono/4.0 do /usr/lib/mono/4.5 i zaktualizować referencję w pliku/usr/bin/mod- mono-server4.

Jeśli korzystasz z XSP lub FastCgi, to samo traktowanie będzie wymagane dla xsp4.exe i fastcgi-mono-server4.exe i ich odnośników w/usr/bin.

(zaczynam żałować Śledziłem tę ścieżkę, Mono ...)

0

nie jestem ekspertem w tej dziedzinie, ale następujące nginx konfiguracja działa na mnie w nieco innej konfiguracji (nginx + mono 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; 
    } 
} 

oczywiście, FastCGI mono-serwer być skonfigurowana do korzystania z gniazda/var/run/MojaApl/fastcgisocket.

Należy pamiętać, że należy zachować ostrożność przy uprawnieniach r/w dla tego gniazda.

nadal mam problem, że Nginx nie wysyła wiele żądań były traktowane równolegle do FastCGI-mono-serwer, ale poza tym to działa ładnie.

Mam nadzieję, że to pomaga.

1

Oto script że rozwiązał moje Mono 3.0.3/MVC 3 problemy/nginx. Po skopiowaniu potrzebnych plików witryna została zatrzymana.

Powiązane problemy