【发布时间】:2016-01-02 18:36:26
【问题描述】:
是否可以在同一台服务器上运行两个单独的 uWSGI 进程,同时 Nginx 提供两组静态文件?
到目前为止,此设置有时似乎可以工作,但有时请求会失败......
nginx.conf:
http {
upstream deploy {
server 127.0.0.1:8002;
}
server {
# nginx config - deploy
}
upstream staging {
server 127.0.0.1:8001;
}
server {
# nginx config - staging
}
}
我确实有两个 uWSGI.ini 文件 master=True。以下是它们的外观:
uwsgi.ini
[uwsgi]
home = /home/bsdev/.virtualenvs/bs_py34/
env = DJANGO_SETTINGS_MODULE=myproject.settings.persistent
socket = 127.0.0.1:8003
chmod-socket = 666
uid = bsdev
gid = bsdev
master = true
enable-threads = true
processes = 4
chdir = /www/django/releases/persistent/bsrs/bsrs-django/myproject
module = myproject.wsgi:application
pidfile = /tmp/myproject-master-persistent.pid
harakiri = 10
max-requests = 5000
logdate = true
vacuum = true
daemonize = /var/log/uwsgi/myproject-persistent.log
logdate = true
关于如何让它发挥作用的任何想法?
有人有有效的配置吗?
似乎将它们都作为主控,或者如果同一个 uwsgi 进程同时为两者提供服务,则请求将被丢弃....
提前致谢。
堆栈:
- Nginx
- uwsgi
- Django 1.8
【问题讨论】:
-
我认为它们都可以工作。但是您需要为位置设置设置不同的路径。您还需要知道 session_id 与 2 个 uwsgi 进程共享。