python - 在与 Nginx 相同的服务器上运行 2 个 uWSGI

标签 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. 为 virtualenv 中的每个项目安装单独的 uWSGI
  2. 在 nginx/sites-available 中为每个项目创建单独的虚拟服务器,指向其自己的 uWSGI

关于python - 在与 Nginx 相同的服务器上运行 2 个 uWSGI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32959878/

相关文章:

ruby-on-rails - Nginx/Passenger/Rails,在哪里设置RAILS_ENV?

python - 在 Mac osx 10.10.2 上使用 Python 2.7.9 Anaconda 2.2.0 编译 igraph 的 C 核心时出现问题

python - 尝试打开与 Tornado 服务器的连接时,WebSockets 客户端连接超时

django - Procfile 中的 heroku $PORT 变量

python - 使用 Django (queryset) - postgres 计算一年中期间的天数

linux - 从 nginx 日志文件的 IP 地址获取热门网址

python - Pygame 文本未绘制

python - 在 Selenium 中更改 Google Chrome 用户代理的方法?

python - 如何在Django 1.9中实现修改密码表单

ssl - Nginx 作为交换代理