Установка Asp.Net на Linux (nginx+mono+xsp)

Аватар пользователя vinoble

В этой статье я покажу, как настроить простую связку nginx + Asp.Net. Под простой надо понимать, что какие-то специфические особенности проектов, разграничение прав пользователей, высокие нагрузки и т.п. нужно настраивать отдельно (особенно это касается Asp.Net).

В свое время озадачившись проблемой хостинга маленьких Asp.Net-проектов я осознал одну простую вещь: покупать лицензию на Windows Server, а потом и арендовывать достаточно мощный выделенный/виртуальный сервер для каких-то домашних поделок/экспериментов — крайне неразумно. Решение как-то сразу всплыло в моей лысой голове: есть же Mono! Непродолжительный поиск по mono-project.com вывел на FAQ об Asp.Net. Фактически, документация показала мне три возможных варианта:

You need the Mono runtime and use one of Apache with mod_mono, a CGI or FastCGI-aware web server with Mono's FastCGI support or the xsp standalone server (all available from our downloads page).

Я не стал проводить какие-то дополнительные тесты или искать другие источники, для моей задачи ответ был уже очевиден: nginx + xsp. Учтите, в wiki Mono сказано, что xsp надо использовать для отладки и разработки!

Установка nginx
Итак, мы имеем свежеустановленный Debian Squeeze x64 Minimal. Самый простой вариант установки последних версий nginx — установка из репозиториев dotdeb.org. Кстати, очень хороший репозиторий: в нем, помимо nginx, всегда последние версии php, mysql (percona) и redis. Чуть сложнее установить из исходников — об этом чуть ниже.

Добавим в sources.list новый репозиторий, пропишем GnuPG-ключ и обновим источники:
root@falco:~# echo "deb _ttp://packages.dotdeb.org stable all" >> /etc/apt/sources.list
root@falco:~# wget -q _ttp://www.dotdeb.org/dotdeb.gpg -O- | apt-key add -
root@falco:~# apt-get update

Если все сделано правильно, то на команду apt-cache policy nginx мы увидим следующее:
root@falco:~# apt-cache policy nginx
nginx:
Установлен: (отсутствует)
Кандидат: 1.0.2-1~dotdeb.1
Таблица версий:
1.0.2-1~dotdeb.1 0
500 _ttp://packages.dotdeb.org/ stable/all amd64 Packages
0.7.67-3 0
500 _ttp://mirror.yandex.ru/debian/ squeeze/main amd64 Packages
Естественно, нужно заменить "_" на "h".
Существует три разных пакета, собранных с разными наборами модулей: nginx-lite, nginx-full (пакет nginx как раз его алиас) и nginx-extras. Какой устанавливать — решать вам, нам бы хватило и lite версии (Proxy есть и ладно), но на момент написания статьи я уже установил full, поэтому будем устанавливать его:
root@falco:~# apt-get install nginx

Вот и все шаги для установки из пакетов.

Your rating: Нет Average: 5.3 (36 votes)
RSS-материал