是否可以在同一台服务器上运行两个单独的 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
最佳答案
要举办两个或更多单独的项目,我建议采取以下措施:
- 为 virtualenv 中的每个项目安装单独的 uWSGI
- 在 nginx/sites-available 中为每个项目创建单独的虚拟服务器,指向其自己的 uWSGI
关于python - 在与 Nginx 相同的服务器上运行 2 个 uWSGI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32959878/