Debian
嘗試使用 Mono 和 Nginx 在 Debian 上託管 ASP.NET Web Api 時遇到問題
我有一個使用 .NET 4.0 的 Web API,我現在正嘗試在 Debian 上部署它。
我已經學習了一些關於如何做到這一點的教程,例如Running ASP.net Web API Services under Linux and OSx。
$ /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
生成警告是因為您的文件
SCRIPT_FILENAME
中有兩行/etc/nginx/fastcgi_params
。您添加的原始值和新值。您應該註釋掉舊值以禁止顯示警告消息。生成錯誤是因為您的
fastcgi-mono-server4
命令呼叫的語法錯誤。該/applications
元素可能應該是這樣的:/applications=localhost:/:/var/www/API/
有關詳細資訊,請參閱此文件。