我使用supervisord来管理tornado,并且在使用nginx作为负载均衡器时没有任何问题。
但是,当我尝试使用supervisor和uWSGI以及nginx作为负载均衡器时,我遇到了严重的问题。我正在使用bottle框架。
当我从命令行运行下面的代码并在Firefox中加载一个页面时,使用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
如果我把命令行放在supervisor中,那么我会收到“页面未找到”的提示。
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文件中相关的部分:
```nginx ```
请注意,这里没有实际内容,需要提供更具体的信息以便进行翻译。
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;
}