[Python] Deploy di applicazione Django/Python3 con uwsgi su CentOS 7

Marco Santamaria marco.santamaria a gmail.com
Gio 30 Giu 2016 13:08:10 CEST


Il giorno 27 giugno 2016 11:59, Riccardo Magliocchetti <
riccardo.magliocchetti a gmail.com> ha scritto:

> Non vuoi usare root, fa bene il pacchetto ad usare un altro utente
>

Anche se la configurazione di default del pacchetto CentOS (emperor e
tyrant) modificata con l'utente root funzionava, ho continuato ad indagare
e ho trovato questa risposta di Roberto De Ioris sulla mailing list di
uwsgi: http://lists.unbit.it/pipermail/uwsgi/2013-February/005370.html

Se non è cambiato qualcosa dal 2013, pare che per far funzionare l'emperor
nella modalità Tyrant (che è il default nel pacchetto CentOS) ci si aspetti
che sia impostato l'utente root nel file di configurazione principale.
Questo significherebbe che la configurazione di default di CentOS non è un
caso che non funzioni e che richieda di essere modificata con l'utente root.

D'altra parte sulla documentazione di uwsgi
<http://uwsgi-docs.readthedocs.io/en/latest/Emperor.html#tyrant-mode-secure-multi-user-hosting>
questo non viene esplicitamente detto, ma si spiega che in modalità Tyrant
uid e gid impostati nei vassalli sono ignorati e si utilizzano invece
gruppo e utente del file che definisce la configurazione del vassallo
stesso. Ho provato e infatti il socket di comunicazione viene creato con
gruppo e utente tali e quali a quelli del file di configurazione.

Purtroppo, anche avendo uwsgi:nginx come proprietario del socket e della
cartella con permessi 664, nginx non riesce a vedere il socket:

connect() to unix:/var/run/uwsgi/<my_app>.sock failed (13: Permission
> denied) while connecting to upstream
>

Invece eliminando la modalità Tyrant riesco a far partire l'emperor con
uid=uwsgi e gid=nginx. Infatti per il momento terrò questa configurazione,
ma ancora non riesco a vederci chiaro...

-- 
|_|0|_|
|_|_|0|
|0|0|0|
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20160630/66ae428a/attachment.html>


Maggiori informazioni sulla lista Python