appserver: gunicorn? prosim feedback pro rok 2016 :-)

81 views
Skip to first unread message

Vladimir Macek

unread,
Mar 23, 2016, 11:08:13 AM3/23/16
to djan...@googlegroups.com
Ahoj,

stehuju svoje projekty na novy Debian server a protoze pozoruji u djangistu
velkou podporu uWSGI, sonduju opusteni mod_wsgi, ktere fungovalo leta
bezproblemove.

Jsem ale taky konzervativni admin a tak mam rad, kdyz se o bezp.
aktualizace zejm. kompilovanych veci stara distribuce, ktere verim a kde
security fix je pohodlny pouzitim apt, ktere stejne delam a hlidam.

Nicmene uWSGI v Jessie je dosti stare 2.0.7 a autori uWSGI sami doporucuji
porad kompilovat.

Nebo je 2.0.7 prijatelna verze? Nicmene Debiani spravce ji o roku 2014 ani
nepatchnul, coz je podezrele.

Jenze na serveru budou Django appky v partition urcene pro uzivatelska
data, ktera bude noexec (takze na ni nepujde spoustet vlastni binarky) a
kde vetsinou ani nebude gcc jako slupka bezpecnosti, takze uWSGI nebude
mozne bez workaroundu nainstalovat.

Existuje pro takove servery reseni, ktere me nenapada?

V docu Djanga vidim, ze gunicorn, ciste pythonsky WSGI server je dokonce
zminen _pred_ uWSGI. :-)

Pouziva tu nekdo gunicorn vic?

Jak si letos stoji?

A jak ho spoustite v Linuxu a pripojujete k webserveru, treba nginx?

Diky!

V.

Honza Král

unread,
Mar 23, 2016, 11:11:45 AM3/23/16
to djan...@googlegroups.com
Ahoj,

my vzdy na produkci pouzivali gunicorn + nginx - o nginx aktualizace
se ti bude starat distribuce a pripadny update gunicornu je
jednoduchy.

Prijde mi to nejlepsi z obou svetu - jednoduchy a bezpecny nginx +
pohodlny gunicorn na pozadi. 99% potencialnich bezpecnostnich problemu
je pak na strane nginxu ktery bude updatovat distribuce.


Honza Král
E-Mail: honza...@gmail.com
Phone: +420 606 678585
> --
> --
> E-mailová skupina djan...@googlegroups.com
> Správa: http://groups.google.cz/group/django-cs
> ---
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, zašlete e-mail na adresu django-cs+...@googlegroups.com.
> Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/django-cs/56F2B15B.1040101%40sandbox.cz.
> Další možnosti najdete na adrese https://groups.google.com/d/optout.

starenka .

unread,
Mar 23, 2016, 11:14:18 AM3/23/16
to djan...@googlegroups.com
Coz je ale uplne to samy jako s uwsgi, ne? ;)

---
In Perl you shoot yourself in the foot, but nobody can understand how you did it. Six months later, neither can you. | print 'aknerats'[::-1]

Honza Král

unread,
Mar 23, 2016, 11:25:25 AM3/23/16
to djan...@googlegroups.com
Ja radsi gunicorn protoze je pure python a prijde mi jednodussi, ale i
uWsgi je samozrejme uplne v pohode. Oboje+nginx mi prijde o rad lepsi
a jednodussi nez mod_wsgi.

Ale ve finale vsechny tri varianty dokazi fungovat zcela bez problemu
a je to predevsim otazka vkusu, preferenci a zkusenosti.
Honza Král
E-Mail: honza...@gmail.com
Phone: +420 606 678585


> Chcete-li tuto diskusi zobrazit na webu, navštivte
> https://groups.google.com/d/msgid/django-cs/CA%2B7MNVrjALn_HhDT9rmcr_jLW6Cg7rzBZdSnWSUzVi5QfCYZ9g%40mail.gmail.com.
> Další možnosti najdete na https://groups.google.com/d/optout.

Vladimir Macek

unread,
Mar 23, 2016, 11:29:17 AM3/23/16
to djan...@googlegroups.com
Honzo,

diky! To jsem rad.

Pises v minulem case. Predpokladam, ze kdyby gunicorn uz dnes nebyl dobrou
volbou, ze bys to napsal.

K nginxu jste ho pripojovali normos via proxy?

Kdyz bude na jednom serveru vice nezavislych django instanci, jakou
nejlepsi cestu pro spousteni gunicornu jste nasli? Uvitam cokoli most
debian-like a s minimem dalsiho softwaru.

@starenka, cetls puvodni post? :-) Neni rec o nekvalite nebo nebezpecnosti
uWSGI.

Dik,

V.
--
: Vladimir Macek : http://macek.sandbox.cz : +420 608 978 164
: UNIX && Dev || Training : Python, Django : PGP key 97330EBD
: I think my spaceship knows which way to go...

starenka .

unread,
Mar 23, 2016, 11:29:55 AM3/23/16
to djan...@googlegroups.com
Jasny, ja myslel tu podobnost v tom smyslu, ze nginx ti resi distro, ale wsgi layer si musis updatovat sam... 

(>>Prijde mi to nejlepsi z obou svetu - jednoduchy a bezpecny nginx +
pohodlny gunicorn na pozadi. 99% potencialnich bezpecnostnich problemu
je pak na strane nginxu ktery bude updatovat distribuce.)

---
In Perl you shoot yourself in the foot, but nobody can understand how you did it. Six months later, neither can you. | print 'aknerats'[::-1]

Honza Král

unread,
Mar 23, 2016, 11:50:54 AM3/23/16
to djan...@googlegroups.com
2016-03-23 16:29 GMT+01:00 Vladimir Macek <ma...@sandbox.cz>:
> Honzo,
>
> diky! To jsem rad.
>
> Pises v minulem case. Predpokladam, ze kdyby gunicorn uz dnes nebyl dobrou
> volbou, ze bys to napsal.


Ano, pisu v minulem case protoze uz tam nepracuju a v soucasne dobe uz
nic primo neprovozuju, ale nic se na tom nezmenilo.


> K nginxu jste ho pripojovali normos via proxy?

jj, uplne easy jako proxy + nginx sam serviruje staticke soubory


> Kdyz bude na jednom serveru vice nezavislych django instanci, jakou
> nejlepsi cestu pro spousteni gunicornu jste nasli? Uvitam cokoli most
> debian-like a s minimem dalsiho softwaru.

pouzivali jsme supervisor: http://supervisord.org/

bylo to jednoduche a fungovalo to, jestli od te doby vzniklo neco
lepsiho, tak to uz nevim...
> Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/django-cs/56F2B64B.5090009%40sandbox.cz.

Věroslav Kaplan

unread,
Mar 24, 2016, 4:28:08 AM3/24/16
to Django CS
Ahoj,

docela hezky funguje gunicorn schovaný za nginx.  Ten gunicorn spouštěj jako systemd unit (a kdo nemá systemd, tak použije upstart). Těch gunicornů můžeš mít samozřejmě víc - pro každou aplikaci jednoho a jsou nezávislé. Někde bych snad vyhrabal i systemd unit.

Alternativně mám na produkci uwsgi + nginx, ale není úplně triviální přesvědčit jeden uwsgi master, aby používalo pro slavy dvě různé verze Pythonu. (jedno Django na Python 2.7 a jedno Django na Python 3.4).  Co je ale velmi pohodlné, tak uwsgi se umí postarat i o automatické spouštění Redisu per-aplikace a Celery - včetně restartu celého stacku. 

Mějte se

--Věroš
Komerční vsuvka: Máme ještě nějaká volná místa na školení Ansible v Praze příští týden. ( www.ansible.cz ), kdyby někdo chtěl začít s Ansible. :-) 

Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/django-cs/56F2B64B.5090009%40sandbox.cz.

Další možnosti najdete na adrese https://groups.google.com/d/optout.



--
--V.Kaplan

Robert Smol

unread,
Mar 24, 2016, 5:19:42 AM3/24/16
to djan...@googlegroups.com
Ahoj,

nginx+gunicorn je opravdu urcite dobra volba. Na nekterych starsich debianech mame nginx+uwsgi(doknce verze 1.2.3) a vse take bezi OK, akorat bylo malinko kostrbatejsi napojeni (zlata fedora a systemd).

Robert



jsmesami

unread,
Mar 24, 2016, 9:14:38 AM3/24/16
to django-cs
Bohužel supervisord nefunguje s Pythonem 3. Pro někoho to může být nepříjemné.
O.

Dne středa 23. března 2016 16:50:54 UTC+1 Honza Král napsal(a):

Ales Zoulek

unread,
Mar 24, 2016, 11:28:22 AM3/24/16
to django-cs
Na druhou stranu, neni zasadni duvod, proc by supervisor mel bezet se stejnym pythonem ci ve stejnem virtualenvu, jako projekt(y), ktere supervizoruje. :)

Obecne bych rekl, ze supervisord je super, pokud:
 - nemate systemd (psani/udrozovani klasickej initscriptu je copy&paste peklo)
 - chcete oddelit systemove sluzby od hostovanych projektu - at uz pristupovymi pravy, nebo pro prehlednost
 - nechcete jen start/stop apod, ale mate nejaky specialni  pozadavky (supervisord ma python pluginy, popr xmlrpc(?) API)

A.

Reply all
Reply to author
Forward
0 new messages