【问题标题】:What are best practices for deploying a Catalyst application to a production server?将 Catalyst 应用程序部署到生产服务器的最佳实践是什么?
【发布时间】:2010-12-11 16:44:30
【问题描述】:

将 Catalyst 应用程序部署到生产服务器的好方法是什么?目前我只是在存储库的根目录中有一个 FastCGI 调度脚本,当我想更新服务器代码时,我将分支推送到服务器。这很简单,但并不完美。如果代码在服务器机器上的测试失败(例如由于不满足的依赖关系),我就会留下损坏的应用程序。您如何部署 Catalyst 应用程序?你有更好的方法吗?

【问题讨论】:

    标签: perl catalyst


    【解决方案1】:

    代理负载平衡器和两个触发器 fastcgi 应用程序的组合作为生产和暂存应用程序交替运行是您的最佳选择。您使用的是什么网络服务器?如果它恰好是 Lighttpd,请查看以下链接:

    【讨论】:

    • 不幸的是,我在共享主机上使用 Apache,这意味着我没有选择,但还是感谢您的提示。
    【解决方案2】:

    为了处理不满足的依赖问题,我使用了一个脚本,将整个应用树运行svn export 到一个单独的目录,适当地设置环境,然后执行:

    perl -MMyApp -e '{print "OK"}'
    if [ $? -ne 0 ]
    then
        echo "MyApp failed compile, not installing."
        exit 1
    fi
    

    这足以确保 dev 中安装的任何模块在回收 Apache 和/或 FastCGI 之前可用。成功后,导出的代码将移动到其最终位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 2013-03-22
      • 1970-01-01
      • 2020-04-06
      • 1970-01-01
      相关资源
      最近更新 更多