Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Failed to start gunicorn.service: Unit gunicorn.service not found

I am trying to deploy a basic application to Amazon EC2 using Django, Gunicorn, and Nginx. I have the app git clone'd into my AWS Ubuntu instance and am running Django 1.10.

I am able to run my app using Gunicorn with the following command...

gunicorn --bind 0.0.0.0:8000 blackspruceherbals.wsgi:application

I am running into trouble though when I try to create a upstart file for Gunicorn. The file path is as follows...

/etc/init/gunicorn.conf

and the upstart code looks like this...

description "Gunicorn application server handling black spruce herbals"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
setuid ubuntu
setgid www-data
chdir /home/ubuntu/websitename/
exec bsh_env/bin/gunicorn --workers 3 --bind unix:/home/ubuntu/websitename/websitename.sock websitename.wsgi:application

When I run...

sudo service gunicorn start

I get the following error...

Failed to start gunicorn.service: Unit gunicorn.service not found.

What gives? I have scoured the internet looking for an answer, but have found nothing. Can you see something obvious I am doing wrong? Thanks in advance.

like image 561
Erik Åsland Avatar asked Nov 21 '16 02:11

Erik Åsland


Video Answer


1 Answers

Since Ubuntu 15.04 upstart has been replaced by systemd. You need to create a file /etc/systemd/gunicorn.service, which has a different syntax than the upstart file. The FAQ can get you started, and the reference is man systemd.service.

like image 154
Antonis Christofides Avatar answered Sep 29 '22 11:09

Antonis Christofides