на NGINX. 
                  
                  
                  
                  
                  
                  Первый это wsgi script, второй обычный бэкенд. 
                  
                  
                  
                  
                  
                  Конструкция классическая 
                  
                  
                  upstream backend 
                  
                  
                  { server IP1
                  
                  
                  server IP2 weight=5}
                  
                  
                  
                  
                  
                  Не подходит. 
                  
                  
                  
                  
                  
                  Сделал через split_clents ... $new_backend {
                  
                  
                  50% uwsgiscript
                  
                  
                  50% backend2
                  
                  
                  }
                  
                  
                  
                  
                  
                  И двумя if ми проверяю значения new_backend, соответстевенно в одном proxy_pass  на веб сервер и uwsgi_pass на uwsgi script. 
                  
                  
                  
                  
                  
                  
                  
                  
                  Вопрос: можно ли эту конструкцию сделать проще, эстетичнее, по другому?
                  
                  
                
А оба сервиса желают одно и то же? Почему у них разные интерфейсы?
Как вариант: location / { try_files "" @$new_backend; } location @uwsgiscript { ... } location @backend2 { ... }
Ну или как второй вариант через самого себя upstream backend { server 127.0.0.1:8001; server IP2 weight=5; } server { ... location / { proxy_pass http://backend; } } server { listen 8001; location / { uwsgi_pass IP1; } }
Обсуждают сегодня