“Falha ao carregar o gunicorn.service: Nenhum arquivo ou diretório no Ubuntu 15.10?

3

Ao configurar um novo servidor Ubuntu 15.10 x64 executando nginx, gunicorn, django como um usuário sudo. Estou recebendo uma mensagem de erro executando service gunicorn start (como root, sim, é uma má ideia):

Failed to start gunicorn.service: 
Unit gunicorn.service failed to load: No such file or directory.

De um virtualenv ativo, posso iniciar o gunicorn usando:

Qualquer idéia seria muito apreciada sobre como resolver isso, já que tentei algumas sugestões de várias pesquisas na web que mencionaram problemas semelhantes a isso sem sorte.

My gunicorn file is at '/etc/init/gunicorn.conf' and is configured as follows:

description "Gunicorn application server handling myproject"

start on runlevel [2345]
stop on runlevel [!2345]

respawn
setuid myuser
setgid www-data
chdir /home/myuser/myproject

exec myprojectenv/bin/gunicorn --workers 3 --bind unix:/home/myuser/myproject/myproject.sock myproject.wsgi:application

Esta questão é idêntica a aqui , mas eu não tenho privilégios para comentar e o usuário parece ter encontrado a resposta com o systemd. O problema original deriva de seguir este guide no Ubuntu 15.10. Eu tentei verificar a seção de comentários nessa página, pesquisando com meu google fu e vários sites que chegam aqui.

A ajuda simplificada seria muito apreciada por alguém relativamente novo no Ubuntu.

    
por clueless 23.03.2016 / 00:16

1 resposta

3

O que está acontecendo é que você está tentando usar o Upstart quando precisa usar o Systemd. Então, você precisa estar usando a configuração do Systemd, ao invés do Upstart.

Extraído do link

  

Systemd

     

Uma ferramenta que está começando a ser comum em sistemas linux é   Systemd. Aqui estão os arquivos de configuração para definir o lançamento do Gunicorn em   systemd e as interfaces nas quais o Gunicorn irá escutar. Os soquetes   será gerenciado pelo systemd:

/lib/systemd/system/gunicorn.service:

[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target

[Service]
PIDFile=/run/gunicorn/pid
User=someuser
Group=someuser
WorkingDirectory=/home/someuser
ExecStart=/home/someuser/gunicorn/bin/gunicorn --pid /run/gunicorn/pid test:app
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

gunicorn.socket:

[Unit]
Description=gunicorn socket

[Socket]
ListenStream=/run/gunicorn/socket
ListenStream=0.0.0.0:9000
ListenStream=[::]:8000

[Install]
WantedBy=sockets.target

tmpfiles.d / gunicorn.conf:

d /run/gunicorn 0755 someuser someuser -

Depois de executar o link , o Gunicorn deve começar e você verá algo como isso nos logs:

2013-02-19 23:48:19 [31436] [DEBUG] Soquetes de ativação do soquete: unix: / run / gunicorn / socket, link

    
por bc2946088 23.03.2016 / 00:39

Tags