I'm trying to deploy my Django app for the first time on a Digital Ocean VPS. I've used their Django droplet which setup things like this except I'm not using a virtual environment.
After adding my code and changing a few things, if I run gunicorn directly from the command line, the site loads.
However, if I run gunicorn as a service sudo service gunicorn start
, I just get an 500 "Internal Service Error". There is no error in the nginx log file. The gunicorn log file does not exist.
Here is the command I run that works (run from the /home/django directory):
gunicorn --pythonpath=myproject --bind=0.0.0.0:9000 --config /etc/gunicorn.d/gunicorn.py myproject.wsgi:application
Here is the /etc/init/gunicorn.conf file:
description "Gunicorn daemon for Django project"
start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]
# If the process quits unexpectedly trigger a respawn
respawn
setuid django
setgid django
chdir /home/django
exec gunicorn \
--name=myproject \
--pythonpath=myproject \
--bind=0.0.0.0:9000 \
--config /etc/gunicorn.d/gunicorn.py \
myproject.wsgi:application
I'm new to gunicorn and nginx so this is really stumping me.