我有一个使用 .NET 4.0 的 Web API,我现在正在尝试将其部署在 Debian 上。
我已经遵循了一些关于如何执行此操作的教程,例如在 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
然后,当我尝试访问该网站时,日志会给出警告和错误,但我未能找到解决方案:
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/
看这个文件了解更多详情。