2010-07-07 17 views

Respuesta

4

Launchd en OSX

Upstart/init en los sistemas Unix.

uwsgi también tiene su propio administrador de procesos, por lo que puede ejecutarlo también.

sintonización:

Comprobar la mailing list, para el asesoramiento sobre sus necesidades particulares. Uwsgi es increíble, es una solución de implementación completa.

Nginx por encima de 0.8.40 creará los enlaces uwsgi por defecto, Build nginx, build uwsgi y está dorado.

1

Estas son las funciones que utilizo en mi archivo fabfile.py (echa un vistazo a la tela pitón si no lo ha hecho):

def start_uwsgi(): 
    with cd(env.server.uwsgi): 
     if(exists('server.pid')): 
      stop_uwsgi() 
      run('sleep 1') 
     run('source venv/bin/activate;uwsgi --ini uwsgi.ini;')) 

def stop_uwsgi(): 
    with cd(env.server.uwsgi): 
     if(exists('server.pid')): 
      run('source venv/bin/activate;uwsgi --stop server.pid;')) 

En mi archivo uwsgi.ini especifico:

[uwsgi] 
socket = :{{your_port}} 
master = true 
vhost = true 
no-site = true 
processes = 1 
enable-threads = true 
pidfile = server.pid 
daemonize = server.log 
auto-procname = true 
procname-prefix = servername_ 

para mí las principales gotyas fueron:

  • utilice la opción daemonise si desea mantener el servidor uwsgi ir después de cerrar su terminal/s ssh esión
  • uso host virtual para ejecutar múltiples sitios bajo la misma instancia uwsgi, que es grande si su cuello de botella es la memoria, al igual que la mía es la de lo contrario fantástico anfitrión webfaction
  • pidfile un seguimiento de la instancia actual, lo que le permite llamar a uwsgi - stop pidfile, uwsgi --start pidfile
  • procname y procname-prefix/append dan un buen nombre a su proceso para que pueda identificarlo fácilmente usando ps -u username | grep some_string
+0

me ayudó mucho! +1 para el "nombre de proceso" –

0

Iré con supervisord para gestionar el proceso de inicio, detención.

Cuestiones relacionadas