显示具有 部署 标签的文章。 显示所有文章
显示具有 部署 标签的文章。 显示所有文章

2007年11月13日 星期二

Ruby Deployment and Scaling

Rails的部署与伸缩

在Rails发布的时候,选择发布平台是开发人员关心的问题。Rails可以在很多Web服务器上运行,只要实现了CGI协议的Web服务器都可以,这是Rails的最低。

        容易部署   速度    伸缩
WEBrick    ★★★★★  ★★     ★
Apache-CGI   ★★★★   ★     ★★
Apache-fcgi    ★    ★★★★   ★★★★
lighttpd-fcgi    ★★  ★★★★★  ★★★★★
(上图来自应用Rails进行敏捷Web开发 P22 各种部署选择比较)

虽然没有提及IIS,不过肯定也有模块可以在上面跑。

优化考虑:
lighttpd:占用,轻量级。建议只在上面提供图片,JavaScript,样式表,中等规模的文件下载以及其他静态的页面。但不建议存放至关重要的数据,因为lighttpd据说存在一些严重的稳定性问题,在进行大量文件传输时候也有问题。

2007年10月24日 星期三

无.Net Framework环境部署.NET程序技巧

部署问题已经成为Visual Studio 2005开发人员最担心的问题。从Visual Studio 6.0走来,就连部署一个C++项目,都变的开始麻烦。包括到后来VS2005中的manifest生成不确定问题。

这里要说的是C#程序部署的问题。

当前很多客户都在使用Windows XP Professsional,由于安全因素的考虑,他们的电脑几乎都没有上网和升级,欲安装.NET Framework不能忘记首先需要Windows Installer 3.0。

中国电信的飞信使用了.NET 框架进行开发。唯一值得一提的是飞信的部署非常值得借鉴:使用了类似虚拟一个.NET Framework环境的程序。原理和道理很简单,但是具体的接口对于开发人员来说非常繁琐,要弄清楚.NET Framework使用和设置了那些注册表和配置,你也可以模拟一个虚拟机。

对于普通的研究来说,直接下载飞新安装包。运行并安装飞信。在其目录X:\Program Files\China Mobile\Fetion\VMDotNet\v2.0.50727 下有一文件FetionVM.exe。

如何使用该技巧的两种方法:
  • 调试:FetionVM.exe example.exe
    这样就能运行起你的example.exe了。

  • 隐藏细节的方法:
    使用非.NET如MFC编写一个窗体项目,窗体初始化将其隐藏属性。然后使用exec或其他类似方法调用FectionVM.exe 参数example.exe。即可。


注意!
  1. 你同样可以传递路径,但是路径中绝对不能有空格。所以建议你使用相对路径
  2. 如果无法运行起example.exe。FetcionVM.exe会在同目录下产生错误日志文件,仔细分析日志,您同样可以解决你出现的一些问题。
  3. 如果您在商用产品中使用该方法,请咨询贵公司律师意见。
 
(L)1984 - 2007 TONY CHEUNG