Questions tagged «gunicorn»

Gunicorn'Green Unicorn'是用于UNIX的Python WSGI HTTP服务器。这是从Ruby的Unicorn项目移植来的前叉工作模型。Gunicorn服务器与各种Web框架广泛兼容,实施简单,服务器资源少且速度非常快。

11
(13:权限被拒绝)连接到上游时:[nginx]
我正在使用Nginx和Gunicorn配置Django项目。 当我访问gunicorn mysite.wsgi:application --bind=127.0.0.1:8001Nginx服务器中的端口时,我的错误日志文件中出现以下错误; 2014/05/30 11:59:42 [crit] 4075#0:* 6 connect()到127.0.0.1:8001在连接到上游时失败(13:权限被拒绝),客户端:127.0.0.1,服务器:localhost,请求:“ GET / HTTP / 1.1”,上游:"http://127.0.0.1:8001/",主机:“ localhost:8080” 以下是我nginx.conf文件的内容; server { listen 8080; server_name localhost; access_log /var/log/nginx/example.log; error_log /var/log/nginx/example.error.log; location / { proxy_pass http://127.0.0.1:8001; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; } } 在HTML页面中,我得到了502 Bad Gateway。 我在做什么错?

13
Gunicorn Worker超时错误
我已经建立了与3名工人,30名工人连接并使用eventlet worker类的gunicorn。它在Nginx后面设置。在每隔几个请求之后,我就会在日志中看到这一点。 [ERROR] gunicorn.error: WORKER TIMEOUT (pid:23475) None [INFO] gunicorn.error: Booting worker with pid: 23514 为什么会这样呢?我如何找出问题所在? 谢谢
182 gunicorn 

4
一个Flask进程接收多少个并发请求?
我正在用Flask构建一个应用程序,但是我对WSGI并不太了解,它是基于HTTP的Werkzeug。当我开始使用gunicorn和4个工作进程处理Flask应用程序时,这是否意味着我可以处理4个并发请求? 我的意思是并发请求,而不是每秒的请求或其他任何请求。
138 python  flask  wsgi  gunicorn 

4
更改源代码时自动加载gunicorn
最后,我将开发环境从runserver迁移到gunicorn / nginx。 将runserver的自动重载功能复制到gunicorn会很方便,因此当源更改时,服务器会自动重新启动。否则,我必须使用手动重新启动服务器kill -HUP。 有什么方法可以避免手动重启?

1
前叉Web服务器模型到底是什么?
我想知道当Web服务器将自己描述为前叉Web服务器时的确切含义。我有一些例子,例如独角兽用于红宝石,而古尼康用于python。 更具体地说,这些是问题: 该模型解决什么问题? 最初启动前叉Web服务器时会发生什么? 它如何处理请求? 另外,对于独角兽/独角兽,还有一个更具体的问题: 假设我有一个要与(g)unicorn一起运行的Web应用程序。初始化时,webapp将执行一些初始化工作(例如,填写其他数据库条目)。如果我使用多个工作人员配置(g)unicorn,初始化工作会多次运行吗?

4
使用gunicorn和nginx部署Django
这是一个广泛的问题,但我想得到一个规范的答案。我一直在尝试在Django中使用gunicorn和nginx部署站点。阅读了无数教程之后,我已经成功了,但是我不能确定我所遵循的步骤是否足以运行一个站点而没有问题,或者也许有更好的方法来做。这种不确定性令人讨厌。 这就是为什么我要为新手寻找一个非常详细且经过充分解释的答案。我不想过多地解释我所知道的和我所不知道的,因为这可能会使答案有些偏颇,而其他人可能会从您的答案中受益较少。但是,我想看到的是: 您认为哪种“设置”效果最好?我使用了virtualenv并将我的Django项目移至该环境中,但是我看到了另一种设置,其中有一个用于虚拟环境的文件夹,另一个用于项目的文件夹。 如何设置方式以允许将多个站点托管在单个服务器中? 为什么有人建议使用gunicorn_django -b 0.0.0.0:8000而另一些建议gunicorn_django -b 127.0.0.1:8000呢?我在Amazon EC2实例中测试了后者,但是前者没有问题时却无法正常工作。 Nginx的配置文件背后的逻辑是什么?有太多使用完全不同的配置文件的教程,我困惑于哪个更好。例如,有些人使用alias /path/to/static/folder而另一些人root /path/to/static/folder。也许您可以共享您的首选配置文件。 为什么我们之间创建一个符号链接site-available,并sites-enabled在/etc/nginx? 一如既往地欢迎一些最佳做法:-) 谢谢

1
Heroku会截断HTTP响应吗?
我在Heroku Cedar dyno上运行Flask / Gunicorn Python应用程序。该应用返回JSON responses给客户(实际上是个API server)。 客户端有时会收到0字节的响应。但是,不是我退还他们。这是我的应用程序日志的一个片段: 3月14日13:13:31 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 app [web.1] [2013-03-14 13:13:31 UTC] 10.104.41.136 apisrv-api_get_credits_balance():session_token = [MASKED ] 上面的第一行是我开始处理请求的过程。 3月14日13:13:31 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 app [web.1] [2013-03-14 13:13:31 UTC] 10.104.41.136 apisrv 1252148511 api_get_credits_balance():返回[{ credits_balance':0}] 第二行是我返回一个值(到Flask -这是Flask的“ Response”对象)。 3月14日13:13:31 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 app [web.1]“ 10.104.41.136--[14 / Mar / 2013:13:13:31]” POST / get_credits_balance?session_token =屏蔽HTTP …

6
如何使Django通过Gunicorn提供静态文件?
我想在localhost的gunicorn下运行django项目。我安装并集成了Gunicorn。当我跑步时: python manage.py run_gunicorn 它可以工作,但是没有任何静态文件(css和js) 我在settings.py中禁用了debug和template_debug(将它们设置为false),但是仍然相同。我想念什么吗? 我称静态为: {{ STATIC_URL }}css/etc....

6
Gunicorn是否在Windows上运行
我环顾了一段时间,我很惊讶地发现Gunicorn是否可以在Windows上运行也没有任何信息。有谁知道是这种情况,如果是,我在哪里可以找到有关它的文档?
76 python  gunicorn 

1
独角兽工人和线程
就Gunicorn而言,我知道有各种各样的worker类,但是对于本次对话,我只是关注sync和async类型。 据我了解... sync workers = (2 * cpu) + 1 worker_class = sync async (gevent) workers = 1 worker_class = gevent worker_connections = a value (lets say 2000) 因此(基于4核系统),使用同步工作程序,我最多可以并行处理9个连接。有了Async,我最多可以拥有2000,并且附带了异步警告。 问题 那么线程适合放在哪里?是否可以将线程添加到同步和异步工作程序类型? 枪械工人的最佳选择是什么?我是否希望将gunicorn放在Django API的前面,并要求并行处理100个请求? gevent和sync worker类的线程安全吗?
72 gunicorn 

3
Gunicorn,没有名为“ myproject”的模块
我正在新服务器上安装以前建立的网站。我不是原始开发人员。 过去,我曾使用Gunicorn + nginx来使该应用程序保持活动状态(基本上在本教程之后),但是在这里遇到了问题。 I source venv/bin/activate,然后./manage.py runserver 0.0.0.0:8000运行良好,一切都按预期运行。我将其关闭并运行gunicorn --bind 0.0.0.0:8000 myproject.wsgi:application,得到以下信息: [2016-09-13 01:11:47 +0000] [15259] [INFO] Starting gunicorn 19.6.0 [2016-09-13 01:11:47 +0000] [15259] [INFO] Listening at: http://0.0.0.0:8000 (15259) [2016-09-13 01:11:47 +0000] [15259] [INFO] Using worker: sync [2016-09-13 01:11:47 +0000] [15262] [INFO] Booting worker with pid: 15262 [2016-09-13 01:11:47 +0000] …

5
如何解决Alpine docker容器内Flask应用程序的Gunicorn执行程序上引发的``OSError:libc not found''问题
我正在基于Miguel Grinberg的大型教程的Microblog应用程序开发Flask应用程序。代码位于此处:https : //github.com/dnilasor/quickgig。我有一个带有链接的MySQL 5.7容器的可运行docker实现。今天,我使用Flask-Admin模块添加了一个Admin View功能。它通过“ flask run”在Flask服务器上本地服务(OSX)上精美地工作,但是当我构建并运行新的docker镜像(基于python:3.8-alpine)时,它在启动时崩溃并出现OSError: libc not found错误,其代码似乎指示未知的图书馆 在我看来,Gunicorn无法在我添加内容后投放该应用程序。我和我的同学很沮丧! 我最初使用python:3.6-alpine基本图像得到了错误,因此尝试使用3.7和3.8无济于事。我还注意到,一旦在requirements.txt中指定了版本号,便会多余地添加PyMySQL。并再次在dockerfile中明确显示,没有任何规范。删除了requirements.txt条目。还尝试增加Flask-Admin版本号。上和下。还尝试清理数据库迁移,因为我已经看到多个迁移文件导致容器无法启动(诚然,这是在使用SQLite时)。现在只有一个迁移文件,并且基于堆栈跟踪,看起来flask db upgrade工作正常。 我尚未尝试的一件事是不同的基本映像(最少的基本映像?),可以尽快尝试并更新它。但是这个问题对我来说是如此神秘,以至于我认为是时候问其他人是否看过它了:) 我确实发现了这个似乎可能相关的套接字错误,但是应该在python 3.8中已完全修复。 此外FYI我跟着一些建议这里的圆形进口和进口我的管理控制器功能里面create_app。 Dockerfile: FROM python:3.8-alpine RUN adduser -D quickgig WORKDIR /home/quickgig COPY requirements.txt requirements.txt RUN python -m venv venv RUN venv/bin/pip install -r requirements.txt RUN venv/bin/pip install gunicorn pymysql COPY app app COPY …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.