Questions tagged «gunicorn»

12
主管未加载新的配置文件
我在使用Gunicorn和Supervisor部署Django应用程序时遇到问题。虽然我可以让Gunicorn服务我的应用程序(通过设置适当的PYTHONPATH并运行适当的命令,但它来自超级用户配置),但我无法让超级用户运行它。只是看不到我的应用程序。我不知道如何确定配置文件是否正常。 这是supervisorctl所说的: # supervisorctl start myapp_live myapp_live: ERROR (no such process) 我在Ubuntu 10.04上使用以下配置运行它: 文件/home/myapp/live/deploy/supervisord_live.ini: [program:myapp_live] command=/usr/local/bin/gunicorn_django --log-file /home/myapp/logs/gunicorn_live.log --log-level info --workers 2 -t 120 -b 127.0.0.1:10000 -p deploy/gunicorn_live.pid webapp/settings_live.py directory=/home/myapp/live environment=PYTHONPATH='/home/myapp/live/eco/lib' user=myapp autostart=true autorestart=true 在/etc/supervisor/supervisord.conf文件的末尾,有: [include] files = /etc/supervisor/conf.d/*.conf 这是我的配置文件的符号链接: # ls -la /etc/supervisor/conf.d lrwxrwxrwx 1 root root 48 Dec …

3
nginx没有server_name并且仅使用静态IP地址?
这是我的第一个Web应用程序部署,并且遇到了各种各样的问题。 我目前正在为Django应用程序执行nginx + gunicorn实现,但是大多数情况下,这个问题与nginx配置有关。在某些情况下-nginx将接收连接并代理到gunicorn本地服务器。 在Nginx配置中,它说server_name我必须提供一个?我不打算通过网络的外部ip(它是静态的)和要监听的端口号来使用任何类型的域名。 我的愿望是,当我访问类似内容时,便可以访问http://xxx.xxx.xxx.xxx:9050该网站。 以下是示例代码,我将基于这些示例代码进行参考。 server { listen 80; server_name WHAT TO PUT HERE?; root /path/to/test/hello; location /media/ { # if asset versioning is used if ($query_string) { expires max; } } location /admin/media/ { # this changes depending on your python version root /path/to/test/lib/python2.6/site-packages/django/contrib; } location / …
34 ubuntu  nginx  gunicorn 

1
如何解决gunicorn关键工人超时错误?
我曾使用nginx和gunicorn在两个服务器上托管我的网站, 两台服务器具有相同版本的软件包,并且网站已成功托管, 但是在我的一台服务器中,gunicorn总是超时并且出现错误 [CRITICAL]Worker Timeout Booting worker with pid Worker cannot boot with pid 之后,我在网页中收到502 Badgateway错误。我必须重启gunicorn程序才能打开网站。 以下是错误日志: 2014-02-16 14:29:53 [1267] [CRITICAL] WORKER TIMEOUT (pid:4994) 2014-02-16 14:29:53 [1267] [CRITICAL] WORKER TIMEOUT (pid:4994) 2014-02-16 14:29:53 [22140] [INFO] Booting worker with pid: 22140 我收到这样的continueos错误, 2014-02-16 14:29:53 [22140] [DEBUG] Ignoring EPIPE Ignoring EPIPE 2014-02-16 …
26 nginx  gunicorn 

1
没有Nginx的ELB后面的Gunicorn的Keepalive设置
我们的应用程序的REST API由运行在具有典型自动缩放/负载平衡设置的AWS EC2实例上的Gunicorn(不落后于Nginx)提供。负载均衡器的空闲超时为60秒,而Gunicorn的保持活动超时为2秒。我们一直在看到504 Gateway Timeout来自此配置的零星响应。根据Amazon docs,这可能是因为服务器的保持活动超时低于负载均衡器的空闲超时设置: 原因2:注册的实例关闭与Elastic Load Balancing的连接。 解决方案2:在EC2实例上启用保持活动设置,并将保持活动超时设置为大于或等于负载均衡器的空闲超时设置。 使用Nginx时,默认keepalive_timeout值为75秒,显然可以与ELB默认设置一起使用。但是,Gunicorn文档建议keepalive设置为1-5秒。 将Gunicorn的keepalive提升至75秒是否有意义,还是有充分的理由将其保持在5秒以下,即使我们没有在其前面使用反向代理?

1
nginx在65k字节后终止连接
我已经将nginx配置为在gunicorn下运行的Python应用程序的前端,但是nginx在发送了大约65k数据后终止了连接。 例如,我有一个看起来像这样的视图: def debug_big_file(request): return HttpResponse("x" * 500000) 但是,当我通过nginx访问该URL时,只能得到65283字节: $ curl https://example.com/debug/big-file | wc … curl: (18) transfer closed with outstanding read data remaining 0 1 65283 请注意,直接访问gunicorn时,一切都会按预期进行: $ curl http://localhost:1234/debug/big-file | wc … 0 1 500000 相关的nginx配置: location / { proxy_pass http://localhost:1234/; proxy_redirect off; proxy_headers_hash_bucket_size 96; } 和Nginx版本1.7.0 其他一些事实: …
11 nginx  gunicorn 

2
部署CherryPy应用程序:独立,WSGI Server还是NGinx?
我打算使用一个VPS将多个低流量的CherryPy应用程序部署为子目录。如:example.com/app1,example.com/app2等等。 在研究了WSGI部署之后,看来部署应用程序的首选方法是在反向代理设置中使用WSGI服务器(Gunicorn,uWSGI等)和NGinx。串联使用两个Web服务器似乎有些矫kill过正-尤其是因为我的CherryPy应用本身就是Web服务器-但我不想因为这个想法无处不在而驳倒了。我当然不是专家,所以我想讨论一下。 我看到三个选择: 自己部署CherryPy。 在Gunicorn或其他WSGI服务器下进行部署。 在WSGI服务器下部署并反向代理到NGinx,这似乎是每个人的解决方案。 我的问题: 我到处都看到这种模式的主要原因是什么?NGinx就是那么好吗? 对于低流量的应用程序,本机CherryPy服务器是否足够好,或者我什至不应该尝试? 任何和所有建议,不胜感激,谢谢。

2
使用Gunicorn + Nginx的长期运行请求
我为Django驱动的应用程序集成了一个集成服务器。其中一些功能仍处于试验阶段,导致请求时间过长。 我暂时可以接受糟糕的表现,但是我需要能够集成。每当我们使用导致较长请求的功能时,该应用都会挂起(按预期方式),然后可能在一分半钟后返回“ 502-错误的网关”。该应用程序的其余部分工作正常。 我检查了古尼康日志,每当发生这种情况时,我都会收到一条类似 2012-01-20 17:30:13 [23128] [DEBUG] GET /results/ 2012-01-20 17:30:43 [23125] [ERROR] WORKER TIMEOUT (pid:23128) Traceback (most recent call last): File "/home/demo/python_envs/frontend/lib/python2.6/site-packages/gunicorn/app/base.py", line 111, in run os.setpgrp() OSError: [Errno 1] Operation not permitted 但是,这是在实际的工人超时之前发生的,我已经确定为10分钟。这是运行gunicorn的暴发户脚本的一部分。 description "..." start on runlevel [2345] stop on runlevel [!2345] #Send KILL after 5 …
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.