Inicializando toda aplicação django através do Supervisor.
Instalação do Supervisor
-
Instalar os pacotes abaixo
$ sudo apt-get install supervisor
-
Utilitário para visualizar os nomes dos serviçõs
$ sudo aptitude install python-dev $ pip install setproctitle
Configuração
-
Editar arquivo
$ nano /etc/supervisor/supervisord.conf
-
Adicionar o caminho do diretorio que possui os conf’s e scripts de inicialização
files = /etc/supervisor/conf.d/*.conf <caminho do diretorio startup>/*.conf
Arquivos *.conf
-
Criar os arquivos conf no diretório que foi configurado no item anterior e indicar o script de inicialização
[program:daphne] command=<path/script_de_inicializacao_do_daphne.sh> user=<webuser> stdout_logfile=<path/log_file> redirect_stderr=true autostart=true autorestart=true
[program:<app_django>] command=<path/script_de_inicialização_do_app.sh> user=<webuser> stdout_logfile=<path/log_file> redirect_stderr=true autostart=true autorestart=true
[program:<app_django>-runworker] command=<path/script_de_inicialização_do_runworker.sh> directory=<WEB_HOME> numprocs=4 process_name=%(program_name)s_%(process_num)02d user=<webuser> stdout_logfile=<path/log_file> redirect_stderr=true autostart=true autorestart=true
-
Verificar os scripts e re-start com as novas configurações
$ sudo supervisorctl reread $ sudo supervisorctl update
Gerenciamento de serviços
Comandos básicos
$ sudo supervisorctl COMMAND <nome_do_processo>
Commands:
status | stop | start | restart |
ou
$ sudo service <serviço> COMMAND
Command:
status | start | stop | restart |
Exemplo:
$ sudo service postgresql status
Lista serviços
$ ps axf
Recarregar o servicos
$ sudo systemctl daemon-reload
Referências:
[]:
[]: