Aquí está mi código uesgi.conf
description "uWSGI" start on runlevel [2345] stop on runlevel [06] respawn env UWSGI=/usr/local/bin/uwsgi env LOGTO=/var/log/uwsgi.log exec $UWSGI --master --emperor /home/ubuntu/socialtalks/config --die-on-term --uid socialtalks --gid www-data --logto $LOGTOAquí está la configuración del archivo ini.
uwsgi.ini
[uwsgi] # variables #projectname = thesocialtalks #base = /home/ubuntu/thesocialtalks # configuration #master = true env = /home/ubuntu/socialtalks #pythonpath = %(base) #chdir = %(base) env = DJANGO_SETTINGS_MODULE=%(projectname).settings.production #module = thesocialtalks.wsgi:application #socket = /tmp/%(projectname).sock # mysite_uwsgi.ini file [uwsgi] projectname = socialtalks pcre = true base = /home/ubuntu/socialtalks # Django-related settings # the base directory (full path) #chdir = /home/ubuntu/socialtalks chdir = %(base) # Django's wsgi file #module = socialtalks.wsgi module = %(projectname).wsgi # the virtualenv (full path) #home = /home/admin5/test/thesocialtalks_final/thesocialtalks plugin = python37 # process-related settings # master master = true enable-threads = true # maximum number of worker processes processes = 10 # the socket (use the full path to be safe #socket = /home/ubuntu/socialtalks/mysite.sock socket = /tmp/%(projectname).sock # ... with appropriate permissions - may be needed chmod-socket = 666 uid = www-data gid = www-data # clear environment on exit vacuum = trueEstoy ejecutando el script usando el comando
nohup uwsgi --ini config/uwsgi.ini &¿Cómo automatizar mi uwsgi para que se inicie automáticamente después del arranque del sistema?
Definitivamente puede instalar un supervisor que le permitirá ejecutar cualquier programa y seguir verificando su estado para asegurarse de que el programa se está ejecutando.
[program:test] autostart = true stopsignal=QUIT user=root command=uwsgi --master --workers 5 --disable-logging --socket 127.0.0.1:8888 --module web --callable app priority=1 redirect_stderr=true stdout_logfile = /data/logPara configurar el supervisor, puede consultar esta documentación: https://www.programmersought.com/article/97941378800/ y para iniciar el supervisor en el arranque, puede escribir el siguiente comando:
# Make sure Supervisor comes up after a reboot. sudo systemctl enable supervisor # Bring Supervisor up right now. sudo systemctl start supervisorPara obtener más información, puede ir al siguiente hilo: https://unix.stackexchange.com/questions/281774/ubuntu-server-16-04-cannot-get-supervisor-to-start-automatically .
No soy un experto en UWSGI, pero parece que hay muchos repositorios que trabajan con Django y UWSGI usando esta combinación.