问题标签 [dotcloud]
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 - Django 和 Nginx
我在 dotcloud 上运行一个网站,它使用 nginx 来提供静态内容和 html 页面,并使用 django 来为 ajax 请求提供 json 服务。
我在配置我的 nginx.conf 文件时遇到问题,因为似乎这里没有特别提到的任何东西都会被提供给 django,这会产生错误。
例如,假设用户想要访问“关于”页面,因此他们在浏览器中键入 www.example.com/about。我希望 nginx 在不涉及 django 的情况下返回 about.html。我怎样才能做到这一点?我尝试了以下方法:
但这似乎不起作用。我在这里做错了吗?
谢谢您的帮助。
django-orm - Dotcloud:运行manage.py后台服务
我有一个 Django 应用程序,它需要访问受 API 密钥速率限制的 Web API。为了管理对 API 的请求,我创建了一个简单的后台服务器,它轮询我的 Django ORM 以获取排队的任务请求,并相对于我的应用服务器异步执行它们(应用服务器不需要阻塞结果)。工作服务器使用自定义的 manage.py 命令启动。这些外部查找的处理要求非常低,所以我想直接从我的主 Web 服务运行它们。我已经用一个临时的互斥锁来操纵它,这样当我的应用程序扩展时,这些工作服务器中只有一个会运行。
我试图找出在部署应用程序时自动启动此工作服务器的最佳方法。我尝试将它作为命令添加到我的 supervisord.conf 文件中,但失败并出现错误ImportError: No module named django.core.management
。我认为这是因为 supervisord 没有在安装 Django 的虚拟环境中运行。因此,我尝试从postinstall
钩子中运行一个单独的 supervisord 副本。这导致我的部署失败,因为postinstall
在终止之前等待所有命令完成,并且它正在超时。
有没有办法修复这些方法中的任何一种,或者另一种可能有效的方法?在我看来,即使我确实创建了一个单独的python-worker
服务,我也会遇到类似的问题。
nginx - DotCloud 上的 CORS,需要 411 长度
tl;博士:我如何解决在 DotCloud 上运行的 nginx 的“411 长度要求”错误?
我在 DotCloud 平台上部署了一个支持 CORS 的 API 作为 Python 服务。当我的 javascript 客户端尝试访问它时,浏览器以 OPTIONS 请求开始,但返回 411。
DotCloud 上的 nginx 似乎不喜欢带有空正文的 HTTP 请求。我已经看到添加“Content-Length:0”标头的建议,或者尝试使用chunkin
模块,但我不能这样做:
- 我不控制浏览器为其 OPTIONS 请求添加的 HTTP 请求标头
- 我不认为我可以在 DotCloud 上安装 3rd 方 nginx 模块。即使我可以,这也可能无济于事,因为请求中没有“Transfer-encoding:chunked”标头
任何想法如何解决这个问题?
更新:
放入以下内容nginx.conf
可以解决我的直接问题。与 chunkin 类似,它捕获 411 错误并在请求方法为 时返回预设响应OPTIONS
。在这个 repo 中遇到了它。
这并不理想,因为我想在 Python 代码而不是 nginx 配置中处理这些响应。而且我预计 DELETE 和 HEAD 请求会出现问题——这些也没有请求正文。
node.js - DotCloud:应用程序没有响应
我试图看到 dotcloud 实际工作,但我无法让它工作。我克隆并推送了https://github.com/sebm/MongoPop.git我添加了一个 dotcloud.yml
api:类型:nodejs mongo:类型:mongodb
因为没有它似乎没有推送,然后我尝试访问该 url,我得到一个错误应用程序没有响应。我应该得到类似http://2a6ad2ac.dotcloud.com/
我想使用 dotcloud,但从未真正看到它工作。
plone - 让 Plone 在 dotcloud 上运行(不使用 uwsgi)
计划 A - 通过 uwsgi 进行克隆
我正在尝试通过 wsgi 在 dotcloud 上部署 plone。
到目前为止,我已经安装了 dotcloud 工具并创建了一个 git 存储库,它成功地将所有部分部署到 dotcloud。我使用 github 来存储所有相关的配置。如果您想尝试一下,这些是我当前用于部署的命令:
部署后,我能够确认(在“sshing”到我的 dotcloud 实例之后)我能够使用 paster 和以下命令启动堆栈:
但是,当我尝试通过其 url 访问应用程序时,我收到一个 uwsgi 错误,找不到 python 应用程序。
我的 wsgi.py 文件如下所示:
更新
A计划不适合我。我最初假设 uwsgi 是 dotcloud 上 Python 应用程序的唯一选择。
计划 B - 在网络服务器代理的端口上克隆
我现在对 B 计划持开放态度,该计划将使用 Plone 作为在端口上运行的工作人员,然后使用 proxy_pass 为站点提供服务。作为一个额外的好处,“由网络服务器代理的端口上的 Plone”将更接近 Plone 在其他场景中的标准部署方法。
node.js - 在 NodeJS 中部署特定文件
我在 DotCloud 上运行我的 NodeJS 项目。遗憾的是,DotClouds 部署是“项目侵入式”,即它需要一个 supervisord.conf 文件驻留在应用程序根目录中。我的部署设置如下所示(使用 git repos)。
(/prod/project
用作project.git
子模块来访问代码)
现在,我的想法是我最终会拥有像这样的不同环境,例如开发、测试和阶段。开发环境甚至没有dotcloud.yml
文件,因为它需要在本地运行所有内容。好吧,这很好用。但问题是supervisord.conf
仅用于部署到 dotcloud 的文件,现在它驻留在 project.git 存储库中,但它不属于那里,因为它只是用于部署。
是否有任何模块或 NodeJS 脚本可以让您将部署配置文件放在其他地方,甚至可以指定目标环境是什么,例如node deploy.js --production
,或类似的东西?
dotcloud - 升级 dotcloud cli 时遇到问题
按照此处的说明进行操作:http: //docs.dotcloud.com/0.9/guides/migration/
当我跑sudo pip install -U dotcloud
当我跑dotcloud setup
感谢任何帮助。
python - 在 Dotcloud (Python) 上设置 NewRelic 环境
我有一个 Python 应用程序,它使用 dotcloud.yml 文件中的新 New Relic 配置变量设置,效果很好。
但是,我想将沙盒实例作为测试/暂存环境运行,因此我希望能够设置 newrelic 代理的环境,以便它使用 ini 配置的不同配置部分。我的 dotcloud.yml 设置如下:
我有自定义环境变量,因此 sanbox 设置为“测试”,实时应用程序设置为“生产”
然后我在我的 uswsgi.py 中调用以下内容
但是,dotcloud 实例已经启用了 newrelic,因为我在 uwsgi.log 文件中得到了这个:
因此,似乎在调用 uwsgi.py 之前正在初始化 newrelic 代理。
所以我的问题是:
有没有办法初始化 newrelic 环境?
perl - 模块(不是?)正在安装,因为它是最新的(是吗?)
我正在尝试部署到 dotcloud。我的 Makefile.PL 指出我需要 URI 1.60。development.yml 文件也这么说。构建器声称已安装该模块。
如果我跑
它失败了
这可能是正确的,因为通常模块安装在 ~/perl5 下。所以,我尝试了:
同样奇怪的是 cpanm 不可用,尽管文档说我们可以使用它:
有什么提示吗?
编辑:这似乎不是这个模块的问题。LWP 也有同样的情况。然后,更奇怪的是,HTTP::Date 依赖于 LWP。某些模块依赖项无法正常工作。旧版本的 dotcloud 客户端我从来没有遇到过这个问题。
谢谢你,阿尔贝托
php - “调用时传递引用已被删除”
我正在尝试使用此 repo 在 Dotcloud 上部署 Wordpress,但日志中出现错误:
查看feed-wp-config.php 中的第 86 行,它显示:
当我进入 Wordpress 开始页面时,它说:“似乎没有 wp-config.php 文件。在我们开始之前我需要这个。”
我已将其交叉发布到 repo 的 Github 问题跟踪器,但由于尚未收到回复,我也将其发布在这里,希望有人知道答案。