Os comandos de inicialização em /etc/rc.local não funcionarão

1

Eu tenho um programa em Python e uma configuração da web nginx / uwsgi / django. Eu quero que o programa comece com o sistema, assim como o servidor web.

Aqui está o meu /etc/rc.local :

crawler_dir=/home/mohammed/git/crawler
log_dir=$crawler_dir/logs
client_rundir=$crawler_dir/rundirs/client
server_rundir=$crawler_dir/rundirs/server
site_dir=$crawler_dir/whoissite
env_dir=/home/mohammed/pyenvs/whoisenv

$env_dir/bin/python $env_dir/bin/twistd --logfile=$log_dir/twistd_server.log --pidfile=$server_rundir/twistd.pid$
$env_dir/bin/python $env_dir/bin/twistd --logfile=$log_dir/twistd_client.log --pidfile=$client_rundir/twistd.pid client -n Pikatchu

$env_dir/bin/uwsgi $site_dir/uwsgi.ini

o uwsgi.ini :

[uwsgi]
chdir = /home/mohammed/git/crawler
socket = whoissite.sock 
module = whoissite.wsgi
daemonize = ../logs/uwsgi.log 
chmod-socket=666

Portanto, eu tenho um virtualenv em Python e me certifico de executar executáveis a partir dele, para que eles não sejam executados com o Python padrão, o que não é feito corretamente.

O truque é que eu posso executar esses comandos manualmente muito bem no terminal, mas não na inicialização.

Os arquivos de log do twistd e do uwsgi não são criados, então não sei o que deu errado. Como posso fazer isso funcionar?

Obrigado

    
por MadeOfAir 13.11.2014 / 19:46

0 respostas