Форум сайта python.su
0
Всем доброго времени суток!
Вопрос вот в чем, есть сервер nginx, который при запросе http://url.py/ ссылается на соккет uwsgi. Хотел бы узнать как можно реализовать uwsgi так, чтобы при запросе http://url.py/statistic/ - nginx перенаправлял на один соккет, где работает один скрипт (script1.py) для обработки запроса, при запросе http://url.py/detalisation/ - nginx перенаправлял на другой соккет ,где работает другой скрипт (script2.py) для обработки запроса. Кто настраивал uwsgi с несколькими соккетами где на каждом соккете есть по одному Python скрипту.Либо посоветуйте любые другие альтернативы.
Заранее благодарю в помощи.
Прошу прощения если что не так в оформлении и т.д, первый раз на этом форуме.
Отредактировано devoratrix (Авг. 27, 2015 19:30:22)
Офлайн
25
В этом нет ничего сложного:
location /app1 {
try_files $uri @uwsgi_app1;
}
location @uwsgi_app1 {
include uwsgi_params;
uwsgi_pass unix:/var/run/uwsgi/app/app1/socket;
}
location /app2 {
try_files $uri @uwsgi_app2;
}
location @uwsgi_app2 {
include uwsgi_params;
uwsgi_pass unix:/var/run/uwsgi/app/app2/socket;
}Отредактировано s0rg (Авг. 27, 2015 20:02:08)
Офлайн
0
s0rgСпасибо. Более не понятно как в UWSGI параметры задать для создания разных соккетов под какие либо скрипты.
В этом нет ничего сложного:
sudo uwsgi --ini /etc/uwsgi/vassals/app-python.ini
location / { root html; uwsgi_pass uwsgicluster; uwsgi_param UWSGI_SCRIPT testapp; include uwsgi_params; } location /django { uwsgi_pass uwsgicluster; include uwsgi_params; uwsgi_param UWSGI_SCRIPT django_wsgi; }
uwsgi_pass uwsgicluster;
Отредактировано devoratrix (Авг. 27, 2015 20:35:13)
Офлайн
25
У вас в
devoratrixдолжень быть параметр socket - который и отпределяет откуда приложение будет данные принимать.
/etc/uwsgi/vassals/app-python.ini
devoratrixГде тут динамика? Одно приложение:
Нашел что то типа этого для Динамических приложений
devoratrix
uwsgi_param UWSGI_SCRIPT testapp;
devoratrixuwsgicluster должен быть описан где-то рядом как upstream
uwsgi_pass uwsgicluster;
Отредактировано s0rg (Авг. 27, 2015 20:42:40)
Офлайн
0
s0rgКластер настроил, только теперь проблема с запуском скриптов питоновских. я указал один сокет, конфиг uwsgi такой
uwsgicluster должен быть описан где-то рядом как upstream
[uwsgi] socket = /home/app-python/sockets/uwsgi.sock mount = statoperator=statoperator.py mount = statclient=statclient.py ....
import os,sys def application(start_response): start_response('200 OK',[('Content-Type',' text/html')]) return "<html><body><h1 style='color:blue'>Hello World !</h1></body></html>"
Отредактировано devoratrix (Авг. 27, 2015 21:21:57)
Офлайн
25
devoratrixЧто это такое?
mount = statoperator=statoperator.py
[uwsgi] plugins = python app_root = /home/{project} chmod-socket = 664 chown-socket = www-data:www-data max-requests = 1000 no-orphans = true vacuum = true master = true processes = 4 chdir = %(app_root) pythonpath = %(app_root) virtualenv = %(app_root)/env touch-reload = %(app_root)/reload module = wsgi:app pidfile = /path/to/pid socket = /path/to/socket
Офлайн
0
s0rgРазобрался. Спасибо за помощь! Теперь все работает.
Не вижу опции mount вообще
Офлайн