使用Nginx在同一台服务器上运行2 uWSGI

时间:2015-10-06 00:23:13

标签: python django nginx uwsgi

是否可以在同一服务器上运行两个单独的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

1 个答案:

答案 0 :(得分:1)

要举办两个或更多单独的项目,请推荐以下内容:

  1. 在virtualenv
  2. 中为每个项目安装单独的uWSGI
  3. 在nginx / sites中创建单独的虚拟服务器 - 可用于每个项目,指向自己的uWSGI