Meu objetivo:
-serve vários aplicativos flask python sob o mesmo servidor development
-no armazenamento em cache no lado do servidor
- executa aplicativos de gunicorn como tarefas em segundo plano
-nginx como proxy reverso que resolverá instâncias de aplicativos por nome de host, executando tudo na porta 80
Eu percebi que posso executar meu aplicativo Flask / Gunicorn em segundo plano usando o systemd - o problema é que ele serve a versão em cache do meu aplicativo e eu gostaria de servir uma nova versão da minha compilação, sempre que eu fizer novos trabalhe nele enquanto estiver executando
systemd / system / website.com.service
[Unit]
Description=Gunicorn instance to serve website.com
After=network.target
[Service]
User=melcma
Group=www-data
PIDFile=/var/tmp/gunicorn.pid
WorkingDirectory=/var/www/website.com
Environment="PATH=/var/www/website.com/env/bin"
ExecStart=/var/www/website.com/env/bin/gunicorn --workers 1 --bind unix:website.com.sock -m 007 wsgi:app
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
Pelo que aprendi, esta linha: "ExecReload = / bin / kill -s HUP $ MAINPID" é suposto para recarregar meu servidor, mas como faço para acionar em arquivos alterar? Eu tentei adicionar "--reload" ao comando ExecStart, mas sem efeito.
E pergunta bônus:
Está usando o systemd para este propósito uma boa maneira ou prefere amassar o servidor? (executando a tarefa em segundo plano que lança a instância gunicorn e atualiza-se sob alterações de arquivos)