我对Linux或Mono一无所知。我正在WebMatrix中构建Web应用程序。我使用ServiceStack设置了简单的服务和一个cshtml测试页面。在Windows上运行一切正常,但是当我将文件移动到Linux服务器后,我的页面可以工作,但是对ServiceStack服务进行RESTful调用时却返回404未找到错误。我是否遗漏了什么?在Linux上,Mono是否以相同的方式读取web.config和global.asax文件?
谢谢。
谢谢。
听起来像是大小写问题 - 出于性能原因,您应该解决这个问题,但同时您可以通过在启动mono进程之前设置MONO_IOMAP环境变量来忽略大小写,例如我在我的服务脚本中使用以下内容:
export MONO_IOMAP=all
${MONOSERVER} /applications=${WEBAPPS} /socket=tcp:127.0.0.1:9000 &
这里有文档:
然而,如果您输入Whatever.aspx,那么会得到404错误。
此外,如果您的站点代码后端称为Master.cs(带有class Master
),并且您在aspx文件中引用它为master.cs(例如默认的Visual Studio Web应用程序模板),则会出现“未找到”错误。
另外,如果您在Apache上使用mod-mono运行mono,则默认情况下它会在端口8080或8082上运行,因此您必须键入http://localhost.com:8080/whatever.aspx。
更好的方法可能是通过fastcgi-mono-server4在nginx上运行servicestack。
(Linux + (∞ * [尝试次数]) = (史诗级 + 失败)^∞)
- VoidKing