MonoとNginxを使用してDebianでASP.NET Web Apiをホストするのに問題があります。

MonoとNginxを使用してDebianでASP.NET Web Apiをホストするのに問題があります。

現在Debianにデプロイしようとしている.NET 4.0を使用するWeb APIがあります。

私はこれを行う方法についていくつかのチュートリアルに従いました。LinuxおよびOSxでASP.net Web APIサービスを実行する

$ /etc/nginx/sites-available/default:

server {
    listen        80;
    root          /var/www/API/;
    index         index.html index.htm default.aspx Default.aspx index.cshtml Index.cshtml;
    server_name   localhost;

    location / {
        fastcgi_index    Index.cshtml;
        fastcgi_pass     127.0.0.1:9000;
        include          /etc/nginx/fastcgi_params;
    }
}

以下を追加しました/etc/nginx/fastcgi_params

fastcgi_param    PATH_INFO          "";
fastcgi_param    SCRIPT_FILENAME    $document_root$fastcgi_script_name;

それからnginx始めますmono server

# /etc/init.d/nginx start
# fastcgi-mono-server4 /applications=/localhost:/var/www/API/ /socket=tcp:127.0.0.1:9000 /verbose=True

その後、Webサイトにアクセスしようとすると、ログに警告とエラーが表示されますが、回避策が見つかりませんでした。

Warning: Duplicate name, SCRIPT_FILENAME, encountered. Overwriting existing value.
Error: No application defined for: localhost:80/Index.cshtml

答え1

SCRIPT_FILENAMEファイルに2行があるため、警告が生成されます/etc/nginx/fastcgi_params。元の値と追加した新しい値。警告メッセージを表示したくない場合は、以前の値をコメントアウトする必要があります。

このエラーは、コマンド呼び出しの構文がfastcgi-mono-server4正しくないために発生します。要素/applicationsはおそらく次のようになります。

/applications=localhost:/:/var/www/API/

バラよりこのファイルもっと学ぶ。

関連情報