1

我正在尝试安装 New Relic,但它说我需要对Procfile. 不过,我似乎无法在我的应用程序的本地副本的根目录中找到它。我正在使用 Django。

谢谢

4

2 回答 2

0

Heroku 上的此页面提供了有关 procfile 的更多信息: https ://devcenter.heroku.com/articles/procfile

您不必将一个部署到 Heroku,但您可以手动创建一个以更好地控制 Heroku 如何运行您的应用程序。根据上面链接的摘录:

不需要 Procfile 来部署以 Heroku 支持的大多数语言编写的应用程序。该平台会自动检测语言,并创建默认的 Web 进程类型来启动应用程序服务器。

建议创建显式 Procfile 以便对您的应用程序进行更好的控制和灵活性。

要让 Heroku 使用您的 Procfile,请将 Procfile 添加到应用程序的根目录并推送到 Heroku:

$ git add .
$ git commit -m "Procfile"
$ git push heroku
...
-----> Procfile declares process types: web, worker
       Compiled slug size is 10.4MB
-----> Launching... done
       http://strong-stone-297.herokuapp.com deployed to Heroku

To git@heroku.com:strong-stone-297.git
 * [new branch]      master -> master
于 2012-11-10T15:36:21.843 回答
0

对于 New Relic 支持,您必须明确告诉 Heroku 在 New Relic 中运行 gunicorn 实例。所以你Procfile看起来像这样:

newrelic-admin run-program gunicorn --workers 4 --worker-class gevent --timeout 60 mysite.wsgi

Procfile您可以通过有条件地在 Heroku 环境变量中查找您的 New Relic 许可证来打开或关闭此功能,而无需更改您的:

Procfile:
    web: bash scripts/heroku_run
scripts/heroku_run:
    #!/bin/bash

    run_command="gunicorn --workers 4 --worker-class gevent --timeout 60 mysite.wsgi"

    # Run through New Relic monitoring if add-on installed
    if [[ $NEW_RELIC_LICENSE_KEY != '' ]]; then
        newrelic-admin run-program $run_command
    else
        $run_command
    fi
于 2014-08-13T11:40:09.147 回答