ASP.Net MVC 2 для nginx / mono 2.8 - PullRequest
       14

ASP.Net MVC 2 для nginx / mono 2.8

7 голосов
/ 02 января 2011

Я пытаюсь настроить приложение ASP.Net MVC 2 в среде Linux. Я установил Ubuntu 10.10 на VirtualBox, затем установил Mono 2.8 из источников. После этого я установил nginx и настроил его, как рекомендовано здесь . К сожалению, FastCGI показывает мне стандартную ошибку 500 страниц:

No Application Found
Unable to find a matching application for request:
Host localhost:80
Port 80
Request Path /Default.aspx
Physical Path /var/www/mvc/Default.aspx

Мое приложение находится в каталоге / var / www / mvc. Я попытался создать заглушку Default.aspx и поместить ее в корневой каталог моего приложения, но это не помогло, произошла та же ошибка. Спасибо.

Ответы [ 6 ]

17 голосов
/ 11 января 2011

Я также проводил некоторые тесты с использованием всех двоичных файлов ubuntu10.10.Из того, что я могу сделать из этого, либо nginx не может передать имя хоста моно-сервера, не может получить его по протоколу fastcgi.Во всяком случае, учебная строка:

 fastcgi-mono-server2 /applications=www.domain1.xyz:/:/var/www/www.domain1.xyz/ /socket=tcp:127.0.0.1:9000

не работает.Удаление имени хоста заставляет вещь работать:

 fastcgi-mono-server2 /applications=/:/var/www/www.domain1.xyz/ /socket=tcp:127.0.0.1:9000

, но это, конечно, блокирует использование нескольких виртуальных моно хостов.

3 голосов
/ 13 ноября 2013

Добавление следующей строки в / etc / nginx / fastcgi_param решает проблему для меня. Это также позволяет использовать несколько виртуальных хостов.

fastcgi_param HTTP_HOST $host;
3 голосов
/ 03 января 2011

Поскольку вы запускаете приложение ASP.NET MVC 2, вы должны использовать fastcgi-mono-server4.

2 голосов
/ 26 января 2012

У меня была эта проблема только сейчас, я тоже следил за документом на моно сайте:

Я пытался запустить fastcgi-mono-сервер, как он предлагал:

sudo fastcgi-mono-server4 /applications=www.domain1.xyz:/:/var/www/www.domain1.xyz/ /socket=tcp:127.0.0.1:9000 &

Однако, когда я сделал это, у меня возникла та же проблема, что и у вас.Я изменил это на следующее:

sudo fastcgi-mono-server4 /applications=/:/var/www/www.domain1.xyz/ /socket=tcp:127.0.0.1:9000 &

И это сработало (мне пришлось ввести www.domain1.xyz/Home/Index, чтобы увидеть мою страницу MVC, а не выяснить, как остановить поиск www.domain1.xyz/default.aspx еще XD).

2 голосов
/ 06 января 2011

Работает ли ваше приложение с xsp (xsp4, если вы используете .net 4.0)?Прежде чем пытаться настроить соединение с другим веб-сервером, убедитесь, что он работает.

Знает ли nginx, где найти моно?Скорее всего, у вас есть параллельная установка, и она не будет в пути по умолчанию.

Я использую apache, но вы все равно можете найти некоторые инструкции в моем блоге полезными: http://tqcblog.com/2010/04/02/ubuntu-subversion-teamcity-mono-2-6-and-asp-net-mvc/

1 голос
/ 06 июля 2012

Необходимо убедиться, что домен, заданный в конфигурации вашего сайта, совпадает с доменом, переданным на сервер fastcgi.Например, если ваш сайт по умолчанию (/etc/nginx/sites-enabled/default) имеет следующую конфигурацию:

server {
    ...
    server_name www.domain1.xyz;
    ...
}

Вам нужно будет передать этот домен на сервер fastcgi:

sudo fastcgi-mono-server4 /applications=www.domain1.xyz:/:/var/www/www.domain1.xyz/ ...

Тогда, когдадоступ к сайту, очевидно, должен быть с тем доменом, который вы установили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...