Executando um servidor da web via script na inicialização

0

Eu tenho um puma executando meu corredor painel de controle de uma VM linux. Atualmente, a VM começa assim que o meu PC é iniciado, mas eu tenho que executar manualmente o servidor.

Eu costumo fazer o seguinte depois de ssh-ing;

screen -S dashing
cd dashboard
sudo bundle exec puma
Ctrl + a + d

Eu tentei transformar isso em um script bash, mas parece não executar as linhas de 2 a 4 na sessão de tela e estou preso a como fazer isso funcionar. Eu nem tenho certeza se essa é a melhor abordagem para colocar o puma em execução na inicialização (o script bash deveria ser incluído no /etc/rc.local se eu conseguisse fazê-lo funcionar).

    
por Trent 21.04.2016 / 05:06

1 resposta

1

Com exceção das últimas versões do ubuntu, a maioria usa upstart e parece uma boa solução para isso. Eu não estou familiarizado o suficiente com o systemd, e se sua build usa, você provavelmente precisará de uma versão totalmente diferente. É por isso que distros e versões são importantes.

Este parece ser um bom começo - e você deve ler isto. Eu faria as coisas de forma um pouco diferente e no interesse de postar uma resposta independente, eu incluí um script como eu escreveria. Gostaria de sugerir que você analisasse tanto a documentação do upstart para ajustá-la melhor às suas necessidades. está executando isso como root - você realmente deveria estar fazendo isso como um usuário específico. Fiz algumas alterações que fazem sentido para mim - talvez você queira alterar o log do console para o console none se tiver certeza de que isso funciona e defini comandos explícitos de início e parada. Isso pressupõe que você tenha um usuário chamado painel - você pode omitir os comandos setuid e setguid.

Não foi realmente testado, mas faz sentido como é. Solte isso em /etc/init/dashing.conf

respawn
console log
start on runlevel [23]
stop on [!23]

setuid dashboard
setgid dashboard

script
  chdir /home/dashboard/dashboard/
  dashing start
end script
    
por 21.04.2016 / 07:29

Tags