![Mono 및 Nginx를 사용하여 Debian에서 ASP.NET Web Api를 호스팅하는 데 문제가 있습니다.](https://linux55.com/image/78149/Mono%20%EB%B0%8F%20Nginx%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20Debian%EC%97%90%EC%84%9C%20ASP.NET%20Web%20Api%EB%A5%BC%20%ED%98%B8%EC%8A%A4%ED%8C%85%ED%95%98%EB%8A%94%20%EB%8D%B0%20%EB%AC%B8%EC%A0%9C%EA%B0%80%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
현재 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/
바라보다이 파일더 알아보기.