MONO

Mono e' una implementazione open della piattaforma .NET

Grazie a mono e' possibile utilizzare la tecnologia asp.net (1.1 e 2) anche sui sistemi liberi.

Da fine ottobre 2007 e' stata introdotta nella piattaforma Unbit una implementazione FastCGI/SCGI alternativa (UFCGI) che funziona perfettamente con il fastcgi-mono-server, un progetto della GSOC 2007 che permette di interfacciarsi al motore asp.net via protocollo FastCGI.

Unbit gia' supporta dal 2006 XSP e XSP2, i motori standard di MONO per eseguire asp.net, tuttavia per chi ha voglia di sperimentare senza acquistare un pacchetto Application Server esiste questa nuova opportunita'.

Perche' e' utile solo per sperimentare e non in produzione ?

MONO e' un pacchetto molto complesso, e il motore asp.net e' abbastanza vorace di risorse. Su un account base con 64mega di address space (entry level,developer) si potranno gestire poche applicazioni asp.net prima che mono raggiunga i limiti.

Ovviamente si puo' acquistare altro address space, ma a quel punto conviene puntare sul vecchio e solido XSP

Come funziona

Abbiamo realizzato UFCGI proprio per risolvere i limiti imposti da moduli come mod_fastcgi e mod_fcgid, ma anche per poter agevolare l'esecuzione di applicativi che non sono nati per essere eseguiti su FastCGI.

Mono e' uno di questi.

Per prima cosa bisogna abilitare il protocollo fastcgi dal pannello di controllo (da novembre 2007 ufcgi viene usato di default al posto di mod_fcgid) e impostare come fastcgi_app mono.fcgi che sara' un normale file di testo con questo contenuto:

$ENV{LD_LIBRARY_PATH} = '/opt/mono/lib' ;
$ENV{MONO_PATH} = '/opt/mono/lib/fastcgi-mono-server/bin' ;
$ENV{PATH} = '/opt/mono/bin' ;
exec '/opt/mono/bin/mono','/opt/mono/lib/fastcgi-mono-server/bin/fastcgi-mono-server2.exe' ;

ovviamente e' sufficiente sostituire fastcgi-mono-server.exe a fastcgi-mono-server2.exe per usare il vecchio motore asp.net 1.1

Impostate la docroot come al solito e fate attenzione al campo fastcgi_nfork: deve essere impostato a 0 o 1 altrimenti saturerete l'address space a vostra disposizione in pochi secondi. Non preoccupatevi, fastcgi-mono-server e' multithread quindi non avrete problemi particolari di performance.

Linguaggi supportati

Per ora sono supportati:

C#

VisualBasic

Stiamo lavorando su:

IronPython

IronRuby

Java (IKVM)

JScript

Web.config

Ovviamente fastcgi-mono-server e' un motore asp.net completo quindi potrete usare tranquillamente i file web.config

fastcgi_off

Ricordate sempre di elencare in fastcgi_off le directory che non volete siano gestite da mono. E' molto importante perche' snellirete il carico su fastcgi-mono-server facendo gestire il tutto direttamente ad apache.

HowtoMono (l'ultima modifica รจ del 2007-10-19 06:10:43, fatta da RobertoDeIoris)