Executando Ruby on Rails como systemd

0

OS: Centos 7

Estou tentando executar o Snorby como systemd, mas os scripts não estão sendo iniciados corretamente

Eu posso fazer bundle exec rails servidor -e desenvolvimento -b 0.0.0.0 na linha de comando, enquanto na pasta Snorby sem quaisquer problemas, mas quando eu colocá-lo em um script e executar com systemctl não está funcionando corretamente.

[Service] WorkingDirectory=/tmp/snorby Environment=RAILS_ENV=development ExecStart=/usr/local/rbenv/shims/bundle exec rails server -d -b 0.0.0.0

Saída de status

snorby.service - Snorby ConfiServ

Loaded: loaded (/usr/lib/systemd/system/snorby.service; enabled; vendor preset: disabled)

Active: inactive (dead) since Thu 2017-08-03 13:25:34 UTC; 1min 18s ago
  Process: 5533 ExecStart=/usr/local/rbenv/shims/bundle exec rails server -d -b 0.0.0.0 (code=exited, status=0/SUCCESS)
 Main PID: 5533 (code=exited, status=0/SUCCESS)

Aug 03 13:25:32 TEST-02 systemd[1]:   
 Started Snorby ConfiServ.

Aug 03 13:25:32 TEST-02 systemd[1]:  
 Starting Snorby ConfiServ...

Aug 03 13:25:34 TEST-02 bundle[5533]:  
 /usr/local/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-3.2.22/lib/action_dispatch/http/mime_type.rb:102: warning: already initialized constant Mime::PDF

Aug 03 13:25:34 TEST-02 bundle[5533]:  
 /usr/local/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-3.2.22/lib/action_dispatch/http/mime_type.rb:102: warning: previous definition of PDF was here  

Aug 03 13:25:34 TEST-02 bundle[5533]:  
  No time_zone specified in snorby_config.yml; detected time_zone: UTC

Aug 03 13:25:34 TEST-02 bundle[5533]: => Booting Thin

Aug 03 13:25:34 TEST-02 bundle[5533]: => Rails 3.2.22 application starting in development on http://0.0.0.0:3000
    
por nan008 03.08.2017 / 15:54

2 respostas

0

No meu caso, funcionou quando usei 'bash -l' antes do script como abaixo.

ExecStart = / bin / bash -l 'seu comando ou script ruby'

Eu acho que o centos 7 tem algum problema ao carregar variáveis de ambiente ruby com o systemd. Funcionou no Ubuntu sem a opção -l embora.

    
por 30.08.2017 / 12:35
-2

Eu entendo - você precisa para iniciar o Thin no Systemd

    
por 10.08.2017 / 11:21