问题标签 [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.
django - 是否可以在不同的文件夹级别中拥有 Procfile 和 manage.py 文件?
介绍:
我正在关注Heroku 上的 Django 入门快速入门指南。
我打算应用关于使用 virtualenvs 和项目的 Django 书籍哲学的两个勺子。Audrey Roy和Daniel 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 文件?
这种方法有什么问题?
先感谢您。
python - Django [Mezzanine CMS] 项目未部署到 Heroku
Python 新手,正在尝试部署博客。我跟着 Heorku关于 Heroku 上 Python 入门的文档。它提到我需要添加一个Procfile
,所以我添加了
档案
是否提交,但在尝试将我的应用程序部署到 heroku 时遇到此错误
当我跑步时,heroku logs
我得到了这个
不是如何在 heroku 上部署夹层的副本?因为那个问题有不同的 Procfile 并且没有包括他的错误日志。
我在这里能错过什么?
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 中运行这些命令吗?如何运行?
提前致谢。
django - 运行“工头启动”/将 Django 应用程序部署到 Heroku 时出现问题
这是我的目录结构的样子(我只包含了相关部分):
遵循官方 Heroku 文档,这就是我的Procfile
:
但是当我运行foreman start
, 命令时,我得到一个以ImportError: No module named my_django_project.wsgi.
.
Procfile
从git_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
不正确,但我不确定如何。
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
自动运行——就像文档中提到的那样。
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 存储库,以便它可以下载它吗?
我很想寻求某种解决方案!任何事物!
c - 无法读取到 procfile 的末尾
我无法读取大于缓冲区的 proc 文件。我看过这两个问题,我想我遗漏了一些东西。我是否错误地使用了 buffer_location 指针?
然而,我的 procfile_read 不会再被调用,就像我想的那样。我究竟做错了什么?
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 配置以在开发过程中始终保持数据?
heroku - 无法解析 Procfile
我正在尝试部署 Heroku 应用程序。
我一定是对 Procfile 做错了什么。当我运行foreman check
我得到这个错误。
错误:未定义进程
在 Heroku 上部署时,我得到了几乎相同的东西
Procfile 看起来像这样
网络:节点 app.js
我错过了什么?
更新我从一开始就重新做了,现在可以正常工作了。我想我可能对 Unix 行结尾有问题
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