【发布时间】:2013-01-13 08:53:47
【问题描述】:
根据 ServiceStack 网站,使用 Mono 在 Linux 上启动和运行 ServiceStack 应该很容易。我已经在系统(Ubuntu 12.10)上安装了 nginx、mono 3.0 和 fastcgi。我使用this 教程让 Nginx 和 fastcgi 运行。在 MonoDevelop 中,我右键单击该项目,然后是 Tools -> Deploy to web。这会生成我要部署的文件。然后我将 dll 复制到 Ubuntu 上的 /var/www/project_folder 中。接下来我启动了 Nginx 和 fastcgi。我的 web.config 文件如下所示:
<?xml version="1.0"?>
<configuration>
<system.web>
<customErrors mode="Off"/>
<httpHandlers>
<add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
</httpHandlers>
<compilation>
<assemblies>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>
</compilation>
</system.web>
<!-- Required for IIS 7.0 (and above?) -->
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add path="*" name="ServiceStack.Factory" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" />
</handlers>
</system.webServer>
</configuration>
我还没有将 XSP 添加到服务器。 当我转到服务器上的网页(远程地址)时,我收到一条错误消息,告诉我它找不到 ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory。 web.config 文件与包含此 ServiceStackHttpHandlerFactory 的 dll 位于同一文件夹中。
你知道是什么原因造成的吗?
【问题讨论】:
-
请分享你用来运行FastCGI服务器的命令行参数
-
fastcgi-mono-server4 /applications=/:/var/www/myapp /filename=/tmp/SOCK-ServiceStack /socket=unix
-
你是从 web.config 文件所在的同一个文件夹中运行它的,对吧?
-
是的,我尝试从同一个文件夹和文件夹外运行。结果相同:-(
-
@Fossmo - 根据您的评论,答案似乎解决了您的问题 - 为什么不接受它?
标签: ubuntu nginx mono servicestack