ПредишенСледващото

За да работите сайтове, написани на ASP.NET, трябва да постави по време на работа IL байткод и действителната уеб сървър. По този начин, има най-малко два начина да се заемем с работата на сайта на ASP.NET в Linux. Първият - да се сложи на родния рамка ASP.NET Microsoft .NET Framework, за да работи под управлението на виното, а вторият - да се инсталира Mono и да се адаптира към вашия сайт.

Но не всичко е толкова просто и безвреден. И двата метода не са без недостатъци. На първо място, Microsoft .NET Framework е допълнение към операционната система Windows, и да го инсталирате под Wine, нарушите лицензионното споразумение. Освен това, дори ако сте в нарушение на лицензионното споразумение, все още го инсталирате под Wine, като не се знае как ще се прояви по отношение на стабилността и производителността, а това е много важно за сървъра. Във втория случай, има такава функция, като Mono с Net непълна съвместимост. Framework. Ето защо, ако оригиналния сайт не е предназначен за работа в Mono, вероятно част от кода, ще трябва да бъде пренаписана. Въпреки това, за да пренапише кода във всеки случай, че е необходимо по-специално на миграцията от MSSQL или оракул, който работи по-голямата част от сайтове в един ASP.NET, това ще се отрази на код, който взаимодейства с базата данни.

В моя случай, целта е била първоначалната развитие на сайта на APS.NET за сървъра Linux. Затова местната VPS е създаден. които сега трябва да инсталирате Mono, уеб сървър и да направи задължителните минимални настройки. Така че, за да се свържете със сървъра чрез SSH, въведете потребителското име и паролата. Моят сървър е начин почти не комплект, така че първото нещо, което инсталира Sudo и добавете се към списъка с / и т.н. / sudoers.

правоспособност инсталирате Sudo

Сега всичко е на всички операции, чрез Sudo. Стоя на сървъра Debian, така че всичко, което е написано по-долу, е приложим за всяка Линукс дистрибуция, базиран на Дебиан, включително по-голямата част от дистрибуции, базирани на Ubuntu.

Така че, ако използвате Debian, вие най-напред vzlyad всичко е доста тъжно - най-старият вариант на разположение в стандартните хранилища стабилен клон е Mono 1.9.1. Ние посетете уеб сайта на Mono. Малко по изкопаване в документацията можете да видите, че все още има шанс да сложи версия 2.4.2.3. За да направите това, трябва да се добави хранилището в /etc/apt/sources.list.

Актуализиране на списъка на опаковката и инсталирате:

актуализация Sudo правоспособност
Sudo програма -Т Лени-backports инсталират моно- време на работа

В хранилището, последните версии на Ubuntu, версия 2.4.2.3 е на разположение, така че ако имате нужда от тази версия, можете да го инсталирате, както следва:

Sudo програма за инсталиране на моно-време на работа

Първоначално, в действителност това беше моя сет, но след това там са открити някои имах нужда и не е реализирана в тази версия на функцията. Ние трябваше да работи с SSL, както и да се изпрати писмо чрез SMTP Google. За да използвате SSL няколко начина за изпълнение на тези функции бяха открити в Windows го работили. В Linux, ако SSL връзка работи само остарял метод. За да работите с SMTP Google, той взе да инсталирате сертификата, но след това, че изпращането на писма не работи. При инсталиране на друг сертификат, обикновено има изключение. За да се реши този проблем, е било установено, 3 варианта за промяна на логиката, а не да се изпрати писмото чрез Google, сложи лепенка или ъпгрейд към по-нова версия.

Инсталиране Mono 2.6

На първо място, е намерен сценария за източника на събранието. Сценарият като цяло работи, но C # компилатора отказа да съставя един от файловете, се показва съобщение, което гласи: "decl.cs (628,57): CS0246 грешка: Видът или пространство от имена име" реактивна ", не може да бъде намерен не би да липсва. с помощта на директива или препратка събрание? " Желанието да се разбере на изходния код не съм. Така че ние трябва да отново да се потопите в търсенето. По това време, са открити дебютантка-пакети за Ubuntu Mono 2.6.1.

За да инсталирате Mono 2.6.1 за да добавите към хранилище файл /etc/apt/sources.list две - тестван пакети за Debian, за да получите най-новите версии на някои пакети, както и OpenSuse хранилището. Във втората има няколко версии на Mono 2.6.1, и можете да изберете версията, която искате. Тъй като специално за Debian пакет има само libgdiplus, добавих хранилище за Ubuntu 9.10:

Актуализиране на списъка на опаковката и инсталиране на Mono:

Sudo aptutude актуализация
Sudo програма за инсталиране на моно-време на работа

Така че, инсталиран Mono минимална конфигурация. Уверете се, че е установено, Mono версия 2.6.1, като въведете следната команда:

Сега можете да doustanovit други желани Моно пакети или да го оставите както е.

Конфигуриране на Nginx като предния край на xsp2.

Що се отнася до ASP.NET работи на Linux уеб сървър може да се използва като стандартен моно-сървър xsp2 на, както и Apache или Nginx. Първо, като цяло, трябва да се използва за обработка само на ASP.NET страници. APS.NET страници Apache процес са чрез свързване mod_mono модул или чрез FastCGI. В третия случай, ASP.Net страници могат да бъдат преработени или през FastCGI, следвайки ръководството на уебсайта Mono или чрез използване на Nginx като предния край на сървъра, и xsp2 като бек-енд сървър.

Очевидно е, че за да работи ефективно с куп Nginx уеб сървър е по-предпочитан, в сравнение с Apache. На първо място, аз се създаде един куп чрез FastCGI и тестван на една проста страница ASP.NET, който показва текущото време. Резултатът е, че при обработката на хиляди заявки всяка грешка се появява 2-3 (изпратени 10 искания в даден момент). След преминаване към Nginx прокси страници към сървъра xsp2 уеб, такъв проблем не е намерен дори и след увеличаване на размера на до 100 едновременни заявки.

Така че, инсталационен процес Nginx като предния край на сървъра, за да xsp2, е както следва.

Инсталация и настройка на Nginx:

Sudo правоспособност инсталирате Nginx

В записите раздел файл /etc/nginx/nginx.conf конфигурационни настройки HTTP уеб сървър.

сървъра слуша 80;
server_name myvps; # Име на сървъра myvps
access_log /var/log/nginx/myvps.access.log;
error_log /var/log/nginx/myvps.error.log;

местоположение / корен / Var / WWW / myvps /; # На основната директория
индекс index.html index.htm default.aspx Default.aspx;
>

# Допълнителни разширения на файловете, които ще се справят xsp2
местоположение

Инсталиране xsp2

Sudo програма за инсталиране на моно-xsp2

Ако желаете, можете да конфигурирате автоматично стартиране xsp2 уеб сървър. Уверете се, че е много лесно, например, чрез .webapp-файл, който има следния формат

уеб-приложение етикет може да бъде няколко, по един за всяка уеб-базирано приложение.

Конфигурация указател, посочен в стандарт скрипта за стартиране е / и т.н. / xsp2 /. Това е debian.webapp файл. използвана като конфигурацията по подразбиране. Можете да направите това промени директно. Например, за да стартирате уеб-базирани приложения, използвани по-горе, за да проверите здравето на сървъра, промените са както следва:



Mono тестово приложение на сървъра
myvps
8080
/
/ Var / WWW / myvps
вярно

Също така е необходимо да се премахне --port $ пост опция от скрипта за стартиране на, е посочено друго в конфигурационния файл .webapp-пристанища ще бъдат игнорирани.

Сега трябва да се тества функционалността. Разархивирайте и поставете тестови файлове в папката / VAR / WWW / myvps. Започнете Nginx и xsp2:

Sudo /etc/init.d/nginx старт
xsp2 --applications myvps: /: / Var / WWW / myvps --port 8080 --root / Var / WWW / myvps /

Sudo /etc/init.d/mono-xsp2 старт

Инсталацията за уеб сървъра ASP.NET е завършен на Linux. Сега можете да направите допълнителни настройки и xsp2 Nginx уеб сървър, за да поставят на база данни и домакин на вашия сайт.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!