According to the ServiceStack website, it should be easy to get ServiceStack up and running on Linux with Mono. I have installed nginx, mono 3.0 and fastcgi on the system (Ubuntu 12.10). I have used this tutorial to get Nginx and fastcgi running. In MonoDevelop I have right clicked on the project, then Tools -> Deploy to web. This generates the files I want to deploy. Then I have copied the dlls to /var/www/project_folder on Ubuntu. Next I started Nginx and fastcgi. My web.config file looks like this:
<?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>
I have not added XSP to the server. When I go to the webpage on the server (remote address) I get an error telling me that it can't find ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory. The web.config file is located in the same folder as the dll containing this ServiceStackHttpHandlerFactory.
Any ideas what's causing this?
Firstly, if you haven't read them yet, you should go through the wiki docs on getting ServiceStack running on Mono/Linux.
What ServiceStack.dlls have you copied and where did you get them from? The
ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory
is the ASP.NET entry point and it's available in the coreServiceStack.dll
binary.If it can't find the entry point ServiceStack.dll then there must be a problem in the Mono FastCGI/ASP.NET Host finding the ServiceStack .dlls, in an ASP.NET application it should be in the
/bin
folder relative to where yourWeb.Config
is. If all the files are in the right place than it might be a file permission problem.