问题标签 [procfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2925 浏览

django - 是否可以在不同的文件夹级别中拥有 Procfile 和 manage.py 文件?

介绍:

  • 我正在关注Heroku 上的 Django 入门快速入门指南。

  • 我打算应用关于使用 virtualenvs 和项目的 Django 书籍哲学的两个勺子。Audrey RoyDaniel Greenfeld(作者)喜欢将所有环境放在一个目录中,将所有项目放在另一个目录中。

  • 我还打算应用Django 的两勺书哲学,将django-admin.py startproject管理命令生成的内容放在另一个目录中,该目录用作 git 存储库根目录(也称为三层方法)。

最高层的布局:


本地:

OS X 10.8.4
pip==1.4.1
virtualenv==1.10.1
virtualenvwrapper==4.1.1
wsgiref==0.1.2
.bashrc 包含:

〜/环境
〜/项目


在 hellodjango_venv 内部:

Django==1.5.2
dj-database-url==0.2.2
dj-static==0.0.5
django-toolbelt==0.0.1
gunicorn==18.0
psycopg2==2.5.1
static==0.4


从终端:

编辑过程文件:

web: gunicorn hellodjango.wsgi

启动流程:

到目前为止,一切都很好。

目前我的项目树是:

我的 Virtualenvs 树是:

但是,你还记得三层方法吗?我怎样才能实现它?

我很确定 hellodjango_rep/ 稍后将至少包含:.git、.gitignore 和 requirements.txt


研究:

在#django IRC 频道上,Jacob Kaplan-Moss回答:

... Procfile 需要位于您的 git repo 的顶层...

Heroku 的工程师Neil Middleton在 SO 中回答了这个问题“Procfile 在 Heroku 中声明类型 -> (none)”:

...您的 Procfile 需要位于推送到 Heroku 的 git 存储库的根目录中...

来自 Heroku 开发中心:

...进程类型是通过放置在应用程序根目录中的名为 Procfile 的文件声明的...


作为第一次尝试:

我将 Procfile 向上移动一个文件夹级别。

目前我的项目树是:

我再次开始这个过程:

我会得到ImportError: No module named hellodjango.wsgi


调试:

ImportError 似乎来自/Users/oubiga/Envs/hellodjango_venv/lib/python2.7/site-packages/gunicorn/util.py

没有名为 hellodjango.wsgi 的模块


作为第二次尝试:

Procfile 回到上一个级别。Procfile 和 manage.py 再次属于一起。

我会明白ERROR: Procfile does not exist.为什么会这样。


假设:

来自 Django 文档:

...manage.py 在每个 Django 项目中自动创建。manage.py 是 django-admin.py 的一个瘦包装器,它在委托给 django-admin.py 之前为您处理两件事:
- 它将您的项目包放在 sys.path 上。
- 它设置 DJANGO_SETTINGS_MODULE 环境变量,使其指向您项目的 settings.py 文件...

我不确定问题是否与此有关。


所以:

是否可以在不同的文件夹级别有一个 Procfile 和一个 manage.py 文件?
这种方法有什么问题?


先感谢您。

0 投票
2 回答
661 浏览

python - Django [Mezzanine CMS] 项目未部署到 Heroku

Python 新手,正在尝试部署博客。我跟着 Heorku关于 Heroku 上 Python 入门的文档。它提到我需要添加一个Procfile,所以我添加了

档案

是否提交,但在尝试将我的应用程序部署到 heroku 时遇到此错误

当我跑步时,heroku logs我得到了这个

不是如何在 heroku 上部署夹层的副本?因为那个问题有不同的 Procfile 并且没有包括他的错误日志。

我在这里能错过什么?

0 投票
1 回答
2291 浏览

php - 在 Symfony2 生产中找不到 /web/bundles 下的资产

我已经使用 CHH heroku-buildpack-php 将 Symfony2 应用程序部署到 Heroku。

将代码推送到 heroku 后,我使用 'heroku run bash' 来:
1) php app/console cache:clear --env=prod
2) php app/console assets:install --symlink
3) php app/console assets:转储 --env=prod

无论如何,/web/bundles/... 上的转储资产未提供服务,它们显示 404 Not Found(我的意思是,未分别找到每个资产)。但例如,/web/favicon.ico 已正确提供给客户端。

这不会在我的本地主机中的开发模式下发生。

可能是服务器上的任何权限问题?我应该在 Procfile 中运行这些命令吗?如何运行?

提前致谢。

0 投票
2 回答
2907 浏览

django - 运行“工头启动”/将 Django 应用程序部署到 Heroku 时出现问题

这是我的目录结构的样子(我只包含了相关部分):

遵循官方 Heroku 文档,这就是我的Procfile

但是当我运行foreman start, 命令时,我得到一个以ImportError: No module named my_django_project.wsgi..

Procfilegit_root/到(Django 项目根目录)移动似乎有效(就像在这篇文章my_django_project/中所做的那样),但仅限于本地——尝试部署到 Heroku 似乎没问题,直到您尝试扩展 Web 进程:

Heroku似乎希望您将 Procfile 放入项目的 git 存储库 root中,但我尝试了很多组合,Procfile但似乎没有一个有效。我也试过:

Procfile但这会导致ImportError: Import by filename is not supported.

指定 python 路径也不起作用;IE

抛出错误ImportError: No module named my_django_project.wsgi

但是,使用 gunicorn from 在本地运行git_root/my_django_project/似乎可行:

所以我的猜测是我的语法Procfile不正确,但我不确定如何。

0 投票
3 回答
2410 浏览

django - 当我将 Django 应用程序部署到 Heroku 时,为什么 collectstatic 不会自动运行?

我已经关注了关于 Django 和 Static Assets 的 Heroku 官方文档;我已经安装dj-static并将其添加到我的requirements.txt文件中,正确配置了我文件中的所有变量settings.py

这就是我的wsgi.py样子:

的内容Procfile

在文档中,它说“collectstatic 在正确配置后会自动运行”。但是当我导航到我的网站时,显然没有 css。

我试过使用调试heroku run,但这只是按预期复制静态文件。

我注意到当我在我的中包含collectstatic命令时Procfile,即

...按预期工作,并提供静态文件。

然而奇怪的是,当我运行heroku run bash并查看STATIC_ROOT指向的目录时,那里什么都没有!事实上,整个served/目录都丢失了,但静态文件仍在提供服务!

当我将 Django 应用程序部署到 Heroku 时,我仍然想知道为什么没有collectstatic自动运行——就像文档中提到的那样。

0 投票
1 回答
1696 浏览

node.js - 部署到 Heroku 时的本地或私有 NPM 模块

我有一个具有本地 npm 模块的节点应用程序,npm link ./local我正在尝试将该应用程序部署到 heroku。Herokunpm install在我部署时运行,但npm link没有保存,package.json所以我的本地模块丢失了。

我是 heroku 的新手Procfiles,我想运行一个脚本或者只是npm link ./local在 heroku 盒子上运行。

或者,我可以将模块作为私有存储库放在 github 上并从那里链接它。但据我所知,Heroku 无法下载私人回购。我可以通过密钥让 Heroku 访问我的 github 存储库,以便它可以下载它吗?

我很想寻求某种解决方案!任何事物!

0 投票
1 回答
115 浏览

c - 无法读取到 procfile 的末尾

我无法读取大于缓冲区的 proc 文件。我看过这两个问题,我想我遗漏了一些东西。我是否错误地使用了 buffer_location 指针?

如何从 proc 文件中读取大数据?

如何读到 /proc 文件的末尾

然而,我的 procfile_read 不会再被调用,就像我想的那样。我究竟做错了什么?

0 投票
2 回答
1096 浏览

ruby-on-rails - 如何使用 Foreman 正确关闭和转储 Redis 服务器?

我有一个与 Foreman 一起使用的 Procfile 来启动我的本地 redis 和 webrick 服务器:

我使用配置中定义的命名套接字连接到 Redis,如下所示:

在 Rails 中一切正常,但是当我在终端中点击CTRL+C来终止 Foreman 时,Redis DB 不会被转储。Redis服务器就是terminated by SIGINT这样的。所以,每当我重新启动 Foreman 堆栈时,我都会得到旧的 Redis 数据。

有没有办法告诉工头在 Redis 上使用正确的 SHUTDOWN 也会转储数据库?或者我应该修改 Redis 配置以在开发过程中始终保持数据?

0 投票
6 回答
7753 浏览

heroku - 无法解析 Procfile

我正在尝试部署 Heroku 应用程序。

我一定是对 Procfile 做错了什么。当我运行foreman check我得到这个错误。

错误:未定义进程

在 Heroku 上部署时,我得到了几乎相同的东西

Procfile 看起来像这样

网络:节点 app.js

我错过了什么?


更新我从一开始就重新做了,现在可以正常工作了。我想我可能对 Unix 行结尾有问题

0 投票
1 回答
793 浏览

ruby-on-rails - 在 Heroku (Procfile) 上使用 Thin 和 SSL 的 Rails 应用程序

我在 Heroku 上使用 Thin Web 服务器 over SSL 运行 Rails 应用程序时遇到了一些问题。我认为可能导致我的问题的一件事是我没有使用 ssl 启动瘦服务器(例如此处此处所示)。但是,我不知道在 Heroku 上使用 ssl 启动瘦服务器的正确语法。以下是我尝试过的不同的 procfile 变体:

web: thin start --ssl -p $PORT

web: bundle exec thin start --ssl -p $PORT

web: bundle exec rails s thin --ssl -p $PORT

web: thin start --ssl