问题标签 [gunicorn]

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 回答
2905 浏览

django - Gunicorn、Django 和加载缓慢的代码......?

我的代码使用matplotlib需要一两秒才能加载(似乎)。问题是当我发送kill -HUP <pid>到 Gunicorn 时,下一个对 Gunicorn 的请求会在请求时加载实际代码,这需要一两秒。

我不想强迫用户等待那一两秒。我一直在尝试访问网站urllib2.urlopen()并强制某些实例加载代码,但我不能保证所有工作人员都已加载代码。

如何解决在请求时加载代码而不是在其启动时加载代码的后端?我是否将有问题的缓慢加载模块放在 settings.py 中?

0 投票
1 回答
644 浏览

django - gunicorn 和 django 项目(无应用程序)

我有一个 django 项目,我想用 gunicorn/nginx 部署它。但是我直接使用settings.py urls.py views.py 没有启动django应用程序,gunicorn需要应用程序名称。

如何部署没有应用程序的 django 项目。

0 投票
1 回答
4118 浏览

django - Nginx + Gunicorn POST 请求错误

我使用 nginx 作为使用 gunicorn 的 django 应用程序的代理,问题是在某些时候我收到来自另一个站点的 POST 请求。

问题似乎是 nginx 没有正确地将 POST 请求重定向到 gunicorn 守护进程。

我能做些什么来解决这个问题,我需要的是能够将 POST 请求发送到 gunicorn 守护程序,以便我的 django 应用程序处理它......谢谢......

这是我的 nginx 配置文件

更新发送 POST 的应用程序收到 BAD REQUEST 错误...如果我手动使用 resty 或 curl 进行 POST 它确实将发布消息传递到我的服务器...

0 投票
2 回答
6087 浏览

python - Gunicorn 没有重新加载 Django 应用程序

我的代码重新加载行为不一致,Django 1.3 应用程序和 gunicorn 0.12.1 在 vi​​rtualenv 中运行。

Gunicorn 无法正确重新加载我的应用程序,即使重新启动特定的 gunicorn 进程 PID。当我运行基本runserver(通过 Django,通过manage.py命令)时,这不是问题。

当我删除并重新创建我的 virtualenv 时,gunicorn 使用新代码按预期运行。

有 Python 缓存之类的吗?我还尝试删除所有*.pyc文件。

0 投票
1 回答
1001 浏览

django - 独角兽不服务png

我正在开发一个 Django 应用程序,它以各种形式显示数据,包括表格和条形图。它使用 matplotlib 将条形图创建为 png。然后它使用以下代码返回它:

当我使用内置的 Django 开发服务器时,一切正常。但是,当我使用:

除条形图外,一切正常。我看到的不是条形图,而是 URL。我是否必须运行 nginx 才能让 gunicorn 显示 png 图像,还是我还缺少其他东西?

编辑

卷曲的输出:

0 投票
1 回答
561 浏览

django - 无法让 django-registration 在 nginx+gunicorn 下工作

我有一个 Django 项目,它部署在 Apache2 和 mod_wsgi 下的临时服务器上,并且运行良好。它使用 django-registration 应用程序。

我试图将我的服务器切换到 nginx 并使用 gunicorn 运行 Django 项目。项目加载正常,除非我尝试访问 /admin 和 /user/logout(默认是 /account 和 django-registration),它会给我一个“没有名为 urls 的模块”错误。我把头发扯了几个小时。我在 urls.py 中注释掉了注册 url 行,然后管理员显示正常,除了它缺少注册模型。所以管理员失败只是因为注册失败。

理想情况下,我想使用 nginx/gunicorn 设置将我的项目投入生产,但注册似乎不想玩得很好。我尝试删除注册,从源代码安装 0.8,删除它,pip 安装 0.7,没有任何效果。有效的是停止 nginx,然后再次运行 apache。因此,从本质上讲,除了所使用的 Web 服务器类型之外,该项目没有受到影响。

由于在 Apache/mod_wsgi 下注册似乎工作正常,我很想用那个设置推动生产......但我仍然很想知道为什么在我尝试时注册不会与 gunicorn 一起工作。任何帮助,将不胜感激。

0 投票
2 回答
2625 浏览

django - Django + nginx + gunicorn 给出 502 错误。日志信息很少

我的服务器配置是这样的(这是全新安装的 ubuntu 10.10)

nginx + gunicorn + django + supervisord 运行它

当我尝试访问我的网站时,出现 502 错误。这将显示在错误日志中:

这是我的 nginx.conf http://pastebin.com/t0V2yFxr

这是我的 supervisord.conf http://pastebin.com/pqVqRLSk

和我的 gunicorn.conf

当我运行 sudo supervisordctl status

它什么也不返回。所以这让我怀疑它没有正常运行。但是,没有 supervisord.log 文件(在 /var/log/ 或 /code/[]/logs/ 中)或 gunicorn.log 显示错误。

所以我根本无法调试这个。关于如何照顾这种羚牛的任何建议?

0 投票
1 回答
649 浏览

python - Django Gunicorn:调用元类库时出错

我有一个 Django 应用程序,其中包含一个自定义模型字段(和随附的表单字段)。当我使用内置开发服务器运行项目时,它工作正常。但是,使用 gunicorn 加载服务器会导致以下错误:

为了完整起见,我在下面包含了整个错误,它显示了错误的行:

正如您从回溯中看到的,导致问题的行(第 43 行fields.py)只是一个常规super调用。您对为什么会发生此错误有任何想法吗?如果我删除导致上述问题的方法,它也会发生在不同的地方。

0 投票
3 回答
6755 浏览

django - gunicorn 通过 mod_proxy 重定向到项目范围之外,尽管 ProxyPassReverse

我有一个在 gunicorn 下运行的 WSGI 应用程序(一个 Django 项目)127.0.0.1:18731,我使用 Apache 和 mod_proxy 将请求http://example.com/my-project/*http://127.0.0.1:18731/*. 静态文件存储在/my-project/. 如果 Django 应用程序不需要重定向任何东西,这可以正常工作,但如果它尝试重定向请求(例如,添加尾部斜杠到http://example.com/my-project/foo),它最终会/my-project/从 URL 中删除,给我留下无效的 URL http://example.com/foo/

我的 mod_proxy 配置如下:

为了可移植性,我不想强/my-project/​​制 Django 为其所有 URL 加上前缀。Apache 显然应该使用该行自己处理前缀ProxyPassReverse。我究竟做错了什么?

0 投票
2 回答
1206 浏览

django - 将 Django 无缝部署到单个服务器

我有一个基于 Django 和 Python 2.6 构建的新网站,我已将其部署到云端(符合流行语且 Amazon micro EC2 实例是免费的!)。
这是我的详细说明:https ://docs.google.com/document/d/1qcZ_SqxNcFlGKNyp-CXqcFxXXsKs26Avv3mytXGCedA/edit?hl=en_US

由于这是一个新站点(并且想使用最新最好的),我在 Supervisor 之上使用了 Nginx 和 Gunicorn。
使用 YUM / easy_install 从主干安装的所有软件。
我的数据库是 Sqlite(目前 - 不确定下一步该去哪里,但这不是问题)。也在待办事项列表上:virtualenv + pip。
到现在为止还挺好。
我在 SVN 中的代码。我写了一个简单的 fabfile 来部署 - 检查最新的代码并通过 Supervisor 重新启动 Gunicorn。我将我的 DNS 名称与一个弹性 IP 挂钩。
有用。

我的问题是,如何在不中断服务的情况下更新网站?当我运行我的小更新脚本时,该站点的用户会得到 404s / 500s。

有没有办法在不添加另一台服务器的情况下做到这一点(价格是关键)?

我很想拥有一个登台系统(在不同的端口上?)以及登台和生产之间的无缝切换。在同一(免费)服务器上。通过织物。
我怎么做?运行两个站点的 Nginx 是否相同?我可以在不影响生产的情况下升级暂存吗?fabfile 会是什么样子?目录树会是什么样子?

谢谢!

塔尔。

有关的: