停止fastcgi单服务器,网站内容更新,无需重新启动它

我最近用Mono 2.10.5玩了很多,.NET 4和MVC 3的视图很好。 我现在用nginx和fastcgi-mono-server4configuration我的网站。 尽pipe这个网站还没有被公众所知(而且直到达到一个理想的状态),我们已经testing了很多天,而且到目前为止,事情看起来一切正常。
所以,鉴于上下文,让我们来回顾一些令我疯狂的问题:

  1. 我可以更新我的网站的内容(例如dll的),而无需安全地重新启动fastcgi过程? 当我这样做的时候,有没有可能对我的访客造成严重的失败?
  2. 我如何优雅地停止fastcgi-mono-server? 我从http://yojimbo87.github.com/2010/03/14/mono-startup-script.html获取初始化脚本作为基础,但它只是杀死(发送SIGTERM)fastcgi-mono-server进程,而不是调用在Global.asax中的Application_End(这就是我的意思是非正常关机)。 SIGHUP也不起作用(尽pipe它也杀死了服务器)

此外,我无法find一个页面来跟踪新闻或单fastcgi服务器的状态,唯一的参考,我已经教会了我如何设置服务器和它的基本工作,但我没有想法在哪里寻找新的版本和更新日志(甚至是一个下载页面,到目前为止,我已经使用portage来安装fastcgi-mono-server附带的xsp软件包)。 我发现http://kerrick.wordpress.com/2007/08/,但在fastcgi单一服务器上的最后一篇文章是如此古老,它吓到我了。

如果我可以问最后一个问题,我如何才能以非特权用户的身份运行fastcgi-mono-server? 我不敢肯定这个过程,因为我不太确定mono是否会尊重setuid标志(还没有尝试过),最重要的是,我不确定fastcgi-mono-server是否需要root访问在某个时刻设置的东西。 我非常想在这方面尝试一些东西,但由于我找不到关于这个问题的任何文件,所以我还没有做任何事情。 显然,我很绝望,因为服务器是以root身份运行的!

先谢谢你!

我也开始了一个非常类似的新冒险,我们也有类似的担忧。 我们再多谈一下;)

我会尽量回答避免新的问题,但不能保证:

  1. 我想,需要尝试一下,在常规的IIS部署场景中进行更新时,可以这样做。 了解ASP.NETdynamic编译可以帮助您进一步了解这一点。 更新副作用总是可以最小化 ,全部取决于您的需求。
  2. 可以运行几个fastcgi-mono-server实例,仍然在调查一些细节面团,在不同的内部端口上侦听。 我设法做到这一点,但需要更多的testing。

其他2个问题…

我也没有find关于这个主题的许多新闻和文档,但我使用fastcgi-mono-server,fastcgi-mono-server2和fastcgi-mono-server4没有任何问题,因为你,我有单声道2.10.5 。 把自己当作asp.net +单声道世界的冒险家吧。 我会尽量多发表一些关于我的发现的文章,以便进行更广泛的讨论。

AFAIK fastcgi-mono-server不需要以特权用户身份运行,即不需要root权限。 我也在调查更多关于安全级别,因为在部署级别/现在运行我的应用程序,我觉得我已经达到了一个稳定的解决scheme。

希望这可以给你的怀疑和我的一些亮光。