【问题标题】:Run 2 uWSGI on the same server with Nginx使用 Nginx 在同一台服务器上运行 2 个 uWSGI
【发布时间】: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 进程共享。

标签: python django nginx uwsgi


【解决方案1】:

若要举办两个或更多独立的项目,我建议如下:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 2019-02-22
    • 2021-11-09
    • 2017-04-23
    • 2016-04-14
    • 1970-01-01
    相关资源
    最近更新 更多