Mono 및 Nginx를 사용하여 Debian에서 ASP.NET Web Api를 호스팅하는 데 문제가 있습니다.

Mono 및 Nginx를 사용하여 Debian에서 ASP.NET Web Api를 호스팅하는 데 문제가 있습니다.

현재 Debian에 배포하려고 하는 .NET 4.0을 사용하는 웹 API가 있습니다.

나는 이 작업을 수행하는 방법에 대한 몇 가지 튜토리얼을 따랐습니다.Linux 및 OSx에서 ASP.net 웹 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

그런 다음 웹사이트에 액세스하려고 하면 로그에 경고와 오류가 표시되지만 해결 방법을 찾지 못했습니다.

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

답변1

SCRIPT_FILENAME파일 에 두 줄이 있기 때문에 경고가 생성됩니다 /etc/nginx/fastcgi_params. 원래 값과 추가한 새 값입니다. 경고 메시지를 표시하지 않으려면 이전 값을 주석 처리해야 합니다.

이 오류는 명령 호출 구문이 fastcgi-mono-server4올바르지 않기 때문에 발생합니다. 요소 /applications는 아마도 다음과 같아야 합니다.

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

바라보다이 파일더 알아보기.

관련 정보