Szerelési (mono 2
A munka oldalak, írt egy ASP.NET, meg kell tenni a futási IL bájtkódot és a tényleges webszervert. Így vannak legalább két módja annak, hogy a munkát az ASP.NET helyszínen Linux. Az első -, hogy a natív ASP.NET keretrendszer a Microsoft .NET Framework alatt futó Wine kezelése, a második - telepíteni Mono és alkalmazkodjon a webhelyére.
De nem minden olyan egyszerű és ártalmatlan. Mindkét módszer hátrányai. Először is, a Microsoft .NET Framework egy Amellett, hogy a Windows operációs rendszer, és a telepítéskor Wine alatt, akkor megsérti a licencszerződést. Ezen felül, akkor is, ha az megsérti a licencszerződést, még telepíteni Wine alatt nem ismert, hogyan fog mutatni magát a stabilitás és a teljesítmény, és ez nagyon fontos, hogy a szerver. A második esetben, van egy ilyen funkció, például Mono Net hiányos kompatibilitás. Framework. Ezért, ha az eredeti helyén nem tervezték, hogy a Mono, valószínűleg része a kódot kell majd írni. Ahhoz azonban, hogy átírják a kódot minden esetben szükség van, különösen a migráció MSSQL vagy Oracle, amely működik a legtöbb webhely egy ASP.NET, ez hatással lesz kód, amely kölcsönhatásba lép az adatbázisba.
Az én esetemben, a cél az volt az eredeti fejlesztés a helyszínen APS.NET egy Linux szerveren. Ezért a helyi VPS jött létre. amely most kell telepíteni Mono, webszerver, és a minimálisan szükséges beállításokat. Tehát, hogy kapcsolódni a szerverhez SSH, írja be a felhasználónevét és jelszavát. Saját szerver egy módja volt szinte semmi beállítva, így az első dolog, amit telepített sudo és adja hozzá magát a listán az / etc / sudoers.
aptitude install sudo
Most minden az összes műveletet keresztül sudo. Állok a Debian szerver, így minden, ami írva az alábbiakban, alkalmazható bármilyen Linux alapú Debian, beleértve a legtöbb disztribúció alapja az Ubuntu.
Tehát, ha használ Debiant első vzlyad minden elég szomorú - a legrégebbi verzió a szabványos tárolók stabil ág Mono 1.9.1. Mi megy a Mono honlapján. Enyhén ásni a dokumentációban akkor láthatjuk, hogy még mindig van egy esélyt, hogy a verzió 2.4.2.3. Ehhez meg kell adni az adattár a /etc/apt/sources.list-hez.
Frissítse a csomag listát és telepítse:
sudo aptitude update
sudo aptitude -t lenny-backports telepíteni mono-runtime
Az adattárban, a legújabb verzió Ubuntu verzió 2.4.2.3 áll rendelkezésre, így ha szükség van ez a verzió, akkor telepítenie kell a következők szerint:
sudo aptitude install mono-runtime
Kezdetben, sőt ez volt a forgatáson, de akkor ott talált néhány van szükségem, és nem hajtják végre ebben a verzióban a funkciót. Meg kellett dolgozni c SSL, valamint, hogy levelet küld a Google SMTP. Az SSL használatához számos módon végrehajtani ezeket a funkciókat találtak a Windows működött. A Linux, ha az SSL kapcsolat csak akkor működik, elavult módszer. Együttműködik SMTP Google, azt kell telepíteni a tanúsítványt, de azután, hogy a küldő betűk nem működött. Amikor telepíti másik tanúsítványt, általában van egy kivétel. Ahhoz, hogy megoldja ezt a problémát, azt találtuk, 3 lehetőség változtatni a logika, és nem küld a levelet a Google, hogy egy folt vagy frissítsen újabb verzióra.
Telepítése Mono 2.6
Először is, a script forrását az összeállítás találtak. A szkript általában működött, de a C # fordító nem volt hajlandó lefordítani az egyik fájlra, egy üzenet jelenik meg, amely tartalmazza: „decl.cs (628,57): error CS0246: A típus vagy névtérnév»var«nem található Kihagyná. a használó irányelv vagy összeállítás referencia? " A vágy, hogy megértsék a forráskód nem tettem. Ezért kellett ismét belevetette magát a keresést. Ekkor a deb-csomagok Ubuntu Mono 2.6.1 talált.
Telepíteni Mono 2.6.1 hozzá a tároló fájl /etc/apt/sources.list két - teszteltük a Debian csomagokat, hogy a legújabb változat a néhány csomagot, és OpenSuse tárolóból. A második több változata van a Mono 2.6.1, és kiválaszthatjuk a kívánt változatot. Mivel kifejezetten Debian csomag már csak libgdiplus, tettem hozzá egy tár Ubuntu 9.10:
Frissítse a csomag listát és telepíteni Mono:
sudo aptutude frissítés
sudo aptitude install mono-runtime
Tehát Mono minimális konfigurációt telepítve. Ellenőrizze, hogy bebizonyosodik, Mono verzió 2.6.1, írja be az alábbi parancsot:
Most már doustanovit más kívánt Mono csomag, vagy hagyja, ahogy van.
Konfigurálása nginx, mint a front-end xsp2.
Ami ASP.NET Linuxon működik webszervert lehet használni, mint egy normál Mono-szerver xsp2, valamint az Apache vagy nginx. Először is, általánosságban kell használni feldolgozására ASP.NET oldalak csak. Az Apache folyamat APS.NET oldalak összekapcsolásával mod_mono modul keresztül vagy FastCGI. A harmadik esetben, ASP.Net oldalakon lehet feldolgozni akár a FastCGI követően Guide a Mono honlapon vagy a nginx a front-end szerver, és xsp2 mint a back-end szerver.
Nyilvánvaló, hogy a hatékony működés csomó a nginx webszerver sokkal előnyösebb, mint az Apache. Eleinte én létrehozott egy csomó keresztül FastCGI és tesztelt egy egyszerű ASP.NET oldalt, amely megjeleníti az aktuális időt. Az eredmény az volt, hogy a feldolgozás több ezer kérelmek egy hiba lép fel 2-3 (z 10 kérelmet egy időben). Átállítás után a nginx proxyoldalakat egy webszerver xsp2, ilyen probléma nem található még azután is, egyre nagyobb az összeg akár 100 egyidejű kérések.
Tehát, nginx telepítési folyamat, mint a front-end szerver xsp2, a következő.
Telepítés és beállítás nginx:
sudo aptitude install nginx
A /etc/nginx/nginx.conf konfigurációs fileban bejegyzések http web szerver beállításokat.
szerver hallgatni 80;
server_name myvps; # A szerver neve myvps
access_log /var/log/nginx/myvps.access.log;
error_log /var/log/nginx/myvps.error.log;
Helyszín / root / var / www / myvps /; # Gyökérkönyvtár
index index.html index.htm default.aspx Default.aspx;
>
# További kiterjesztések a fájlok kezeli xsp2
elhelyezkedés
telepítése xsp2
sudo aptitude install mono-xsp2
Ha szükséges, akkor beállíthatja az automatikus indítást xsp2 webszerver. Hogy nagyon könnyű, például úgy, hogy .webapp-fájlt, amely a következő formában
web-alkalmazás tag lehet több, egy-egy web-alapú alkalmazás.
Konfigurációs könyvtárban a szabványban meghatározott script indítás / etc / xsp2 /. Ez debian.webapp fájlt. használják az alapértelmezett konfiguráció. Akkor lehet, hogy megváltozott közvetlenül. Például, hogy fut a web-alapú alkalmazások használják a fenti ellenőrizni szerver egészségre, a változások a következők:
Azt is el kell távolítani a --port $ utáni opciót az indító szkriptet, másként a konfigurációs fájlban .webapp portok figyelmen kívül hagyja.
Most arra van szükség, hogy teszteljék a funkciót. Csomagolja ki, majd helyezze a teszt a mappában lévő fájlok a / var / www / myvps. Kezdés nginx és xsp2:
sudo /etc/init.d/nginx Start
xsp2 --applications myvps: /: / var / www / myvps --port 8080 --root / var / www / myvps /
sudo /etc/init.d/mono-xsp2 Start
A telepítés az ASP.NET Web szerver befejeződött Linuxon. Akkor most, hogy további beállításokat és xsp2 nginx webszerver, hogy az adatbázisban és a fogadó oldalon.