ServiceStack with mono on linux

本文关键字:linux on mono with ServiceStack | 更新日期: 2023-09-27 18:11:00

我对linux和mono一无所知。我有web应用程序,我在WebMatrix建设。我已经用ServiceStack和cshtml测试页面设置了一个简单的服务。所有在Windows上运行良好,但当我将文件移动到linux盒子我的页面工作,但RESTful调用ServiceStack服务带回404没有发现。我是不是漏掉了什么?linux上的mono读取web吗?配置和全局。还是一样吗?

谢谢

ServiceStack with mono on linux

是的,它们读起来是一样的。
但是…
Linux使用区分大小写的文件系统。
所以如果你输入:
http://localhost.com/whatever.aspx
你的网站其实叫什么都可以。

但是,如果键入Whatever。Aspx,它会给你一个404。

同样,如果你的站点的代码被称为Master.cs(与class Master),并且你在一个aspx文件中引用它与Master.cs(如默认的visual Studio web应用程序模板),你会得到一个"not found"错误。

另外,如果你在Apache的mod-mono上运行mono,我认为它默认运行在端口8080或8082上,所以你必须输入http://localhost.com:8080/whatever.aspx。

一个更好的主意可能是通过fastcgi-mono-server4在nginx上运行servicestack。

这听起来像大小写-出于性能原因,您应该修复它,但同时,您可以通过在启动Mono进程之前设置MONO_IOMAP环境变量来获得Mono忽略大小写,例如,我在我的服务脚本中使用以下代码:

export MONO_IOMAP=all
${MONOSERVER} /applications=${WEBAPPS} /socket=tcp:127.0.0.1:9000 &

说明如下:

http://www.mono-project.com/IOMap