2011-01-02 12 views
7

Linux環境でASP.Net MVC 2アプリケーションを設定しようとしています。私はVirtualBoxにUbuntu 10.10をインストールし、ソースからMono 2.8をインストールしました。その後、私はnginxをインストールし、それを推奨hereとして設定しました。 残念ながら、FastCGIは標準エラー500ページを私に示していますASP.Net MVC 2 on nginx/mono 2.8

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ファイルを作成してアプリケーションのルートディレクトリに配置しようとしましたが、同じエラーが発生しました。おかげさまで

+0

使用しているfastcgi monoサーバーのバージョンは何ですか? – yojimbo87

+0

@Tomi fastcgi-mono-server2 –

+0

この問題は実際に解決されましたか?私は現在、あなたがエラー500ページで1年以上前にいたところです - それを解決できましたか?私は単純なindex.aspxページを私のサイトディレクトリにダンプしようとしましたが、私はまだエラー500を受け取ります。 –

答えて

2

アプリケーションはxsp(.net 4.0を使用している場合はxsp4)で動作しますか?別のWebサーバーへの接続を設定する前に、それが動作していることを確認する必要があります。

nginxはモノの場所を知っていますか?ほとんどの場合、パラレルインストールがあり、デフォルトパスには含まれません。

私は、Apacheを使用していますが、あなたはまだ私のブログに有用で命令のいくつかを見つけることがあります。 http://tqcblog.com/2010/04/02/ubuntu-subversion-teamcity-mono-2-6-and-asp-net-mvc/

+0

はい、動作します。実際のところ、nginxは標準的なFastCGIサーバの実装(fastcgi-mono-server4など)で動作するため、monoについて何も知る必要はありません。とにかく、リンクのおかげで、おそらくApacheソリューションが私のために適用されます。 –

+6

これはどのように答えですか? –

3

ASP.NET MVC 2アプリケーションを実行しているので、fastcgi-mono-server4を使用する必要があります。

+0

ヒントはありがたいですが、助けにはなりませんでした。 –

+0

WebアプリケーションのルートディレクトリにDefault.aspxを持たない標準のMVC 2プロジェクトがありますか? – yojimbo87

+0

はい、シンプルな標準MVC 2テンプレートアプリです。 –

17

私はすべての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 

が、この複数の仮想モノホストの使用:ホスト名を削除すると、事の作業を行います。

+1

mvcはfastcgi-mono-server2で動作しません。fastcgi-mono-server4が必要です –

2

私は、ちょうど今、この問題を抱えていた私も、モノサイト上の文書を、次のされていた。しかし

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

私はそれが提案されているようにFastCGIモノサーバを起動しようとしていました私がそれを好きにしたとき、私はあなたと同じ問題を抱えています。私はこれにそれを変更:

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

そして、それは働いていた(私は私のMVCページを参照してくださいwww.domain1.xyz/Home/Indexを入力しなければならなかった、www.domain1を探してそれを停止する方法を働いていません。 xyz/default.aspxはまだXD)。

1

サイトの設定で設定されたドメインと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/ ... 

あなたが設定したドメインと一緒にいる必要があります。

3

/etc/nginx/fastcgi_paramに次の行を追加すると、私の問題が解決します。また、複数の仮想ホストを使用することもできます。

fastcgi_param HTTP_HOST $host;