【问题标题】:How to shutdown an app deployed on Heroku?如何关闭部署在 Heroku 上的应用程序?
【发布时间】:2011-02-18 04:20:18
【问题描述】:

我在 Heroku 上有一个应用程序,很少有用户使用。但是,我注意到有一些数据问题我想修复并同时停止应用程序,这样用户就不会输入任何新内容。

有没有办法阻止 Heroku 上的应用程序而不是销毁它?我看到重启服务器命令在那里......虽然我没有看到像“停止”这样的东西。

【问题讨论】:

    标签: heroku continuous-deployment


    【解决方案1】:

    http://devcenter.heroku.com/articles/maintenance-mode

    如果您正在部署大型迁移或需要在一段时间内禁用对应用程序的访问,您可以使用 Heroku 的内置维护模式。它将为所有访问者提供一个静态页面,同时仍然允许您运行 rake 任务或控制台命令。

    $ heroku maintenance:on
    Maintenance mode enabled.
    

    以后

    $ heroku maintenance:off
    Maintenance mode disabled.
    

    【讨论】:

    • 我需要关闭我的 Heroku 应用来测试监控服务 (Pingdom)。似乎没有办法在不销毁应用的情况下完全停止应用,维护模式返回HTTP状态503,因此适合触发监控服务。
    【解决方案2】:

    要完全“停止”您的应用,您可以将 web dynos 缩小到零,这可以有效地使您的所有应用 http-processes 离线。

    $ heroku ps:scale web=0
    Scaling web processes... done, now running 0
    

    【讨论】:

    • 请原谅我的菜鸟,看来任何一个命令都可能是合适的。干杯
    • 当你修复了你想要的东西后,别忘了再次:heroku ps:scale web=1,否则你的应用将永远无法恢复......
    • 这是正确的解决方案。维护模式实际上不会停止应用程序,它只会阻止访问它的流量。这应该是公认的答案。
    • 在Rails中,如果你的Procfile有一行以web开头,那么使用heroku ps:scale web=0,否则你可能会收到no such process type app defined in Procfile.
    • 请记住,如果您在 Procfile 中列出了其他进程类型,您也需要将它们设置为零。
    【解决方案3】:

    如果您使用的是 eclipse 插件,请双击 My Heroku Applications 中的 app-name。在进程选项卡中,按比例按钮。将弹出一个小窗口。增加/减少计数,然后说 OK。

    【讨论】:

      【解决方案4】:

      转到您在 heroku 上的仪表板。选择应用程序。有一个测功机部分。只需将测功机的滑块向下拉(测功机的减少在左侧)到您想要运行的测功机数量。滑块变为 0。然后保存您的更改。轰隆隆。

      根据下面的评论:需要单击一个铅笔图标才能完成此操作。我没有检查过 - 但我把它放在这里以防万一。

      【讨论】:

      • 啊,谢谢。在较新的仪表板中,您首先必须单击小铅笔图标将应用程序置于编辑模式,然后您可以使用滑块。
      【解决方案5】:

      您可能必须更具体并指定应用程序名称(这是您在 heroku 中拥有的应用程序名称)。例如:

      heroku ps:scale web=0 --app myAppName 
      

      否则您可能会收到以下消息:

       % heroku ps:scale web=0
      Scaling dynos... failed
       !    No app specified.
       !    Run this command from an app folder or specify which app to use with --app APP.
      

      【讨论】:

        【解决方案6】:

        删除您的 Heroku 应用

        这适用于希望删除其 Heroku 帐户上的应用程序的用户。 有时,您在尝试了解如何删除/删除应用时会出现在这里。

        警告:这是不可逆的!

        • 转到您的 Heroku 仪表板here
        • 选择您要删除的应用程序。
        • 向下滚动到该应用的设置页面底部。
        • 按红色的删除应用...按钮。

        【讨论】:

        • OP 明确表示他们希望“在 heroku 上停止应用程序而不是销毁它”。我只是指出这一点,因为无论出于何种原因,必应将此响应显示为答案。
        • 谢谢!也许这应该移到不同的区域?
        【解决方案7】:

        添加到上面的答案:如果你想使用管理面板停止 Dyno,免费层的当前解决方案:

        1. 打开应用
        2. 在“概览”选项卡的“Dyno 形成”部分中,单击“配置 Dynos”
        3. 在“免费 Dynos”部分所需的行中,单击右侧的铅笔图标
        4. 点击蓝色开/关控件,然后点击“确认”

        希望这会有所帮助。

        【讨论】:

          【解决方案8】:

          您可以使用管理面板中的启用维护模式禁用该应用程序。

          • 转到设置选项卡。
          • 在删除应用程序之前的底部。启用维护模式。请参阅下面的屏幕截图。

          【讨论】:

          • 简单易用且优雅。
          • 维护模式不会停止测功机,它只会阻止所有传入的 HTTP 请求。如果您有一些后台进程正在运行,它将继续运行。请参阅 Heroku 文档:devcenter.heroku.com/articles/maintenance-mode
          • 这并不意味着应用程序已停止,例如玉米作业将继续执行
          【解决方案9】:

          来自 Heroku 网络

          Dashboard => Your App Name => Resources => Pencil icon=> Flip the switch => Confirm
          

          【讨论】:

          • 真的是最简单的答案!像魅力一样工作!
          • 如果你运行heroku logs --tail然后这样做,你会发现它和运行heroku ps:scale web=0是一样的
          【解决方案10】:

          1> 是的...当我们去Personal==> <app name> ==>Resources时有铅笔图标 然后单击铅笔图标并拖动到左侧,Dynos 将下降。

          2> 您可以使用 Heroku cli 进行验证

          heroku logs --app {your-appname}

          它对我有用。

          【讨论】:

            【解决方案11】:

            CMD: 安装 Heroku CLI https://devcenter.heroku.com/articles/heroku-cli#download-and-install

            按win+r,输入“cmd”按回车

            heroku login # login  
            heroku ps:scale worker=0 -a your_app_name
            

            GIU: https://dashboard.heroku.com/apps
            个人==> ==> 资源> 点击铅笔图标并拖到左侧> 确认
            那么 Dynos 就会宕机。

            【讨论】:

              猜你喜欢
              • 2017-05-26
              • 2020-07-03
              • 2022-12-10
              • 2012-03-26
              • 2013-02-01
              • 2016-11-25
              • 2020-07-14
              • 2011-12-08
              • 1970-01-01
              相关资源
              最近更新 更多