使用mono在Centos中部署ASP.net

时间:2016-11-23 15:42:39

标签: linux nginx mono asp.net-core

我想部署一个内置在ASPnet 4.0框架应用程序中的解决方案,开发工作是在WindowsSO / IIS中完成的。

现在我需要使用NginX Web服务器在操作系统Centos上进行部署。

我正在使用Centos-6.8,Nginx-1.10和mono-4.6.1.5。

我的nginx配置文件是:

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    root /usr/share/nginx/html;
    #root /usr/share/nginx/html/Site;        

    location / {
        index index.aspx index.html index.htm index.aspx default.aspx Default.aspx Global.asax;
        fastcgi_index Global.asax;
        fastcgi_pass 127.0.0.1:9000;
        include fastcgi_params;
    }
   ...
}

文件fastcgi_params我包括:

fastcgi_param  PATH_INFO          "";
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

启动服务单声道

fastcgi-mono-server4 /applications=/:/usr/share/nginx/html /socket=tcp:127.0.0.1:9000 &

如果显示结果,我会访问http://localhost/Default.aspx进行测试。

问题是当访问Site文件夹http://localhost/Site/时,会显示以下消息:

System.Web.HttpException
This type of page is not served.

Description: HTTP 403.The type of page you have requested is not served because it has been explicitly forbidden. The extension '.asax' may be incorrect. Please review the URL below and make sure that it is spelled correctly.
Details: Requested URL: /Site/Global.asax
Exception stack trace:
  at System.Web.HttpForbiddenHandler.ProcessRequest (System.Web.HttpContext context) [0x00073] in <d3ba84a338d241e2ab5397407351c9cd>:0 
  at System.Web.HttpApplication+<Pipeline>c__Iterator1.MoveNext () [0x00dd7] in <d3ba84a338d241e2ab5397407351c9cd>:0 
  at System.Web.HttpApplication.Tick () [0x00000] in <d3ba84a338d241e2ab5397407351c9cd>:0

nginx用户对Site文件夹有权限,可能在Web.Config中缺少一些依赖项,任何想法?谢谢。

1 个答案:

答案 0 :(得分:2)

听起来有一个许可问题。请检查确保网站上的权限是755.如果不是,请&#39; sudo chmod -R 755&#39;文件夹。

进一步阅读。

https://askubuntu.com/questions/9402/what-file-permissions-should-i-set-on-web-root