尝试使用 Mono 和 Nginx 在 Debian 上托管 ASP.NET Web Api 时遇到问题

尝试使用 Mono 和 Nginx 在 Debian 上托管 ASP.NET Web Api 时遇到问题

我有一个使用 .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/

这个文件了解更多详情。

相关内容