程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Linux / Mono上运行ServiceStack的最佳方法是什么?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在Linux / Mono上运行ServiceStack的最佳方法是什么??

开发过程中遇到在Linux / Mono上运行ServiceStack的最佳方法是什么?的问题如何解决?下面主要结合日常开发的经验,给出你关于在Linux / Mono上运行ServiceStack的最佳方法是什么?的解决方法建议,希望对你解决在Linux / Mono上运行ServiceStack的最佳方法是什么?有所启发或帮助;

linux更新

从v4.5.2版本开始, ServiceStack现在支持.NET Core,它比Mono有了显着的性能和稳定性改进,Mono是从共享的跨平台代码库派生而来的,并得到了Microsoft的资源丰富,活跃且响应迅速的团队的支持。如果您当前在Mono上运行ServiceStack,我们强烈建议升级到.NET Core,以利用其卓越的性能,稳定性和自上而下支持的技术堆栈。

单声道更新

我们建议在linux和Mono上托管ASP .NET网站的安装程序是使用Nginx / HyperFastCgi。我们已经发布了分步指南,从头开始创建一个Ubuntu VM,并在mono-server- config上完成了deploy / install / conf / init脚本。

在注意到几个稳定性和性能问题后,我们不再建议使用MonoFastCGI。这篇博客文章对Mono中不同ASP.NET Hosting选项的性能,内存使用情况和稳定性进行了很好的分析。

发展历程

XSP与VS.NET WebDev服务器类似-VS.NET WebDev服务器是用C#编写的简单独立ASP.NET WebServer。这适合于开发或小工作量。您只需从ServiceStack ASP.NET主机的根目录运行它,即可在处使用它http://localhost:8080

生产

对于外部Internet服务,您通常希望将ServiceStack Web服务托管为功能齐全的Web服务器的一部分。linux上2种最受欢迎​​的功能齐全的Web服务器是:

Nginx的

使用Mono FastCGI在Nginx中托管ServiceStack ASP.NET主机。

阿帕奇

使用mod_mono将ServiceStack ASP.NET主机托管在Apache HTTP Server中。

自托管

ServiceStack还支持自我托管,这使您可以在独立的Console应用程序中(即没有Web服务器的情况下)自己运行ServiceStack Web服务。当您不需要功能齐全的Web服务器的服务时(例如:您只需要在Intranet上内部托管Web服务),这是一个好主意。

默认情况下,相同的ServiceStack Console应用程序二进制文件可同时在windows / .NET和Mono / linux上运行。尽管您愿意,但是可以轻松地守护程序将其作为Linux守护程序运行,如此处所述。Wiki页面还包含有关将自托管Web服务配置为在Nginx或Apache反向代理之后运行的说明。

由于它非常适合Heroku的并发模型(如其12个因素的应用程序自托管中所述),我们将在不久的将来为该领域提供更多支持。

ServiceStack.net Nginx / Mono FastCGI配置

servicestack.net网站本身(包括所有实时演示)使用Nginx + Mono FastCGI 在Ubuntu hetzner vServer上运行。

此命令用于启动FastCGI后台进程:

fastcgi-mono-server4 --appconfigdir /etc/rc.d/init.d/mono-fastcgi 
  /socket=tcp:127.0.0.1:9000 /logfile=/var/log/mono/fastcgi.log &

哪个宿主/etc/rc.d/init.d/mono- fastcgi使用XSP的WebApp文件格式指定的文件夹中* .webapp文件中定义的所有应用程序,例如:

ServiceStack.webapp:

<apps>
<web-application>
        <name>ServiceStack.northwind</name>
        <vhost>*</vhost>
        <vport>80</vport>
        <vpath>/ServiceStack.northwind</vpath>
        <path>/home/mythz/src/ServiceStack.northwind</path>
</web-application>
</apps>

这将在后台运行FastCGI Mono进程,您可以通过将此规则添加到Nginx.conf来使Nginx连接到该进程:

location ~ /(ServiceStack|RedisadminUI|RedisStackOverflow|Restfiles)\.* {  
   root /usr/share/Nginx/mono/servicestack.net/;  
   index index.HTML index.htm index.aspx default.htm Default.htm;  
   fastcgi_index /default.htm;
   fastcgi_pass 127.0.0.1:9000;  
   fastcgi_param SCRIPT_filename /usr/share/servicestack.net$fastcgi_script_name;
   include /etc/Nginx/fastcgi_params;  
}

它将以/ServiceStack/RedisadminUI等开头的任何路由转发到FastCGI单服务器进程进行处理。以这种方式托管的一些示例应用程序:

  • http://www.servicestack.net/ServiceStack.Northwind/
  • http://www.servicestack.net/ServiceStack.Hello/
  • http://www.servicestack.net/RedisAdminUI/AjaxClient/
  • http://www.servicestack.net/RedisStackOverflow/

对于那些感兴趣的人,可以下载 servicestack.net的完整Nginx + FastCGI配置文件。

解决方法

在ServiceStack网站上列出,它表明ServiceStack可以在Mono上运行,并且可以:

  • XSP
  • mod_mono
  • FastCgi
  • 安慰

这些不同的配置是什么?Mono上的Web Services首选哪种配置?

大佬总结

以上是大佬教程为你收集整理的在Linux / Mono上运行ServiceStack的最佳方法是什么?全部内容,希望文章能够帮你解决在Linux / Mono上运行ServiceStack的最佳方法是什么?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: