Konfiguracja Mono ( ASP.NET )
Aby uruchomić aplikacje ASP.NET pod Cherokee, będziesz potrzebował Mono. Jest to wersja Microsoftowej platformy programistycznej .NET pod środowiska UNIX.
Głównie potrzebować będziesz uruchomionego serwera mono-fastcgi. Na Debian Lenny i Sid oraz w Ubuntu 8.10+ ( Interpid oraz Jaunty ) wystarczy, że użyjesz apt:
Wszelkie informacje odnośnie konfiguracji znajdziesz na stronie Mono.
Jeśli już udało Ci się zainstawlować FastCGI, możesz przejść do dalszej części.
Głównie potrzebować będziesz uruchomionego serwera mono-fastcgi. Na Debian Lenny i Sid oraz w Ubuntu 8.10+ ( Interpid oraz Jaunty ) wystarczy, że użyjesz apt:
# apt-get install mono-fastcgi-server2
Oficjalne udostępniane paczki dostępne są na stronie. Jeśli twojej platformy nie ma tam wymienionej to dla Linux możesz:- Pobrać instalator binarny, zawierający wersję 1.9.1 ( w momencie pisania ).
- Pobrać i skompilować źródła. Serwer FastCGI znajduje się w paczce XSP.
Wszelkie informacje odnośnie konfiguracji znajdziesz na stronie Mono.
Jeśli już udało Ci się zainstawlować FastCGI, możesz przejść do dalszej części.
Przygotowania
-
Musisz określić źródło danych obsługiwane przez fastcgi-mono-server. W naszym przykładzie będzie on uruchomiony lokalnie na porcie 8000, aplikacjia w /var/www króry jest naszym katalogiem głównym ( document root ). Będzie on przemapowany na / przez Mono. Aby to wykonać utwórz źródło nazywające się mono, i w interpreter wpisz:
fastcgi-mono-server2 --socket=tcp:8080 --address=127.0.0.1 --applications=/:/var/wwwOczywiście możesz też ustawić to w inny sposób używając zmiennych środowiskowych, wtedy jako interpreter podaj:
fastcgi-mono-server2Dodajmy jeszcze że teraz chcemy aby komunikacja odbywała się przez Unix socket. Aby ustawić resztę parametrów jak wyżej ustaw następujące zmienne środowiskowe ( environment variables ):
MONO_FCGI_APPLICATIONS=/:/var/wwwPamiętaj ustawić stosunkowo wysoki timeout, pownieważ uruchomienie całego środowiska Mono może potrwać, i nie jest wskazane aby Cherokee zaprzestał operacji zanim się ono całkowicie uruchomi. Wartość 30 sekund powinna wystarczyć. Oczywiście może ona okazać się za wysoka aby obsłużyć zawartość, jeśli backend FastCGI Mono nie został jeszcze poprawnie wystartowany.
MONO_FCGI_SOCKET=unix
MONO_FCGI_FILENAME=/tmp/cherokee-mono.socket
-
Teraz trzeba ustawić Cherokee tak aby obsługiwało aplikacje Mono. Może to być wykonane na dwa sposoby:
- Można ustawić aby wszystkie 11 standardowych rozszerzeń aspx, asmx, ashx, asax, ascx, soap, rem, axd, cs, config, dll przekazać do Serwera FastCGI Mono. Nie jest to jednak zalecana opcja, ponieważ mogą wystąpić skutki uboczne.
- Można przekazać wszystkie zapytania prosto do Serwera FastCGI Mono, ale to zmniejsza wydajność całej aplikacji. Jest to jednak zalecana opcja
Konfiguracja
- W zakładce Basics ustaw index.aspx, default.aspx jako Directory Indexes.
- Usuń wszystkie reguły dla wybranego serwera wirtualnego, zostawiając tylko domyślną czyli Default.
- W zakładce Handler wybierz FastCGI, przydziel do niego źródło danych odpowiadające Mono. Jak zwykle, możesz podać tyle hostów ile chcesz, Cherokee będzie równoważyło obciążenie pomiędzy nie. Jeśli chcesz ustawić Mono w inny sposób ( opisane powyżej ), po prostu ustaw regułę dla tych 11 rozszerzeń. Ustawienie handlera wygląda identycznie. W obu przypadkach pamiętaj zaznaczyć Check file, jeśli nie zaznaczysz to FastCGI nie zadziała poprawnie i zwróci błąd 500 ( Internal Server Error ).
To wszystko.
Szczegóły tej rewizji
Rewizje tego pliku
Rewizje w tej gałęzi
Data modyfikacji: 11-03-2009, 14:09:38
Autor: Jędrzej Nowak <me@pigmej.eu>
Typ formatowania: (x)html
Rewizje tego pliku
Rewizje w tej gałęzi
Data modyfikacji: 11-03-2009, 14:09:38
Autor: Jędrzej Nowak <me@pigmej.eu>
Typ formatowania: (x)html
http://www.cherokee-project.com/doc/cookbook_mono.html