3

我使用 supervisord 来管理龙卷风,使用 nginx 作为负载均衡器没有问题。

我在使用 nginx 作为负载平衡器的主管和 uWSGI 方面遇到了严重问题。我使用瓶子作为框架。

当我从命令行运行以下命令并在 FF 中加载一个页面并点击 nginx 时,一切正常。

sudo command = /usr/local/bin/uwsgi --loop gevent --socket 127.0.0.1:8070 --wsgi-file /home/ubuntu/workspace/uwsgiServer.py -b 32768 --master --async 5 --enable-threads --listen 100 --uid root

如果我将命令行放在supervior中,那么我找不到页面。

uWSGI Error
Python application not found



[program:uwsgi]
#autostart=true
#autorestart=true
#process_name = uwsgi-%(process_num)s
command = /usr/local/bin/uwsgi --loop gevent --socket 127.0.0.1:8070 --wsgi-file /home/ubuntu/workspace//uwsgiServer.py -b 32768 --master --async 5 --enable-threads --listen 100 --uid root
#--port=%(process_num)s
#--log_file_prefix=%(here)s/logs/%(program_name)s-%(process_num)s.log
#numprocs = 1
#numprocs_start = 8070

以下是 nginx.conf 文件的相关部分:

upstream uwsgi_b {
      server 127.0.0.1:8070;
    }


location /u/ {
                       include uwsgi_params;
                       uwsgi_param X-Real-IP $remote_addr;
                       uwsgi_param Host $http_host;
                       uwsgi_pass uwsgi_b;
                 }
4

1 回答 1

6

您可能会在 supervisord 配置中添加更多参数,例如 --pp(python 路径)到 uwsgi 命令,可能还有一些环境变量:

[program:uwsgi]
command = /usr/local/bin/uwsgi 
    --loop gevent 
    --socket 127.0.0.1:8070 
    --wsgi-file uwsgiServer.py 
    --buffer-size 32768 --master --async 5 --enable-threads --listen 100 --uid root 
    --pp /home/ubuntu/workspace/

autostart=true
autorestart=true
environment=ENV_VAR='var'
user=root # or other
group=root # or other
directory=/home/ubuntu/workspace/
umask=022

编辑:删除了 Django 特定的设置

于 2012-06-13T21:16:35.763 回答