Skip to content

Commit

Permalink
Maintenance: added startup files and wsgi file for django.
Browse files Browse the repository at this point in the history
  • Loading branch information
mrbannon committed May 22, 2014
1 parent 488241a commit a9cd78e
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 0 deletions.
5 changes: 5 additions & 0 deletions celery_start.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

VIRTUAL_ENV=/home/rodan/rodan_env # name of virtual_env directory
source ${VIRTUAL_ENV}/bin/activate
exec ${VIRTUAL_ENV}/bin/celery -A rodan worker -l DEBUG
32 changes: 32 additions & 0 deletions gunicorn_start.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash

NAME="rodan" # name of the application
VIRTUAL_ENV=/home/rodan/rodan_env # name of virtual_env directory
DJANGODIR=/srv/webapps/Rodan # Django project directory
SOCKFILE=/tmp/rodan.sock # we will communicte using this unix socket
USER=www-data # the user to run as
GROUP=www-data # the group to run as
NUM_WORKERS=3 # how many worker processes should Gunicorn spawn
DJANGO_SETTINGS_MODULE=rodan.settings # which settings file should Django use
DJANGO_WSGI_MODULE=rodan.wsgi # WSGI module name

echo "Starting $NAME"

# Activate the virtual environment
cd $DJANGODIR
source ${VIRTUAL_ENV}/bin/activate
export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE
export PYTHONPATH=$DJANGODIR:$PYTHONPATH

# Create the run directory if it doesn't exist
#RUNDIR=$(dirname $SOCKFILE)
#test -d $RUNDIR || mkdir -p $RUNDIR

# Start your Django Unicorn
# Programs meant to be run under supervisor should not daemonize themselves (do not use --daemon)
exec ${VIRTUAL_ENV}/bin/gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--workers $NUM_WORKERS \
--user=$USER --group=$GROUP \
--log-level=debug \
--bind=unix:$SOCKFILE
32 changes: 32 additions & 0 deletions rodan/wsgi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
"""
WSGI config for blah project.
This module contains the WSGI application used by Django's development server
and any production WSGI deployments. It should expose a module-level variable
named ``application``. Django's ``runserver`` and ``runfcgi`` commands discover
this application via the ``WSGI_APPLICATION`` setting.
Usually you will have the standard Django WSGI application here, but it also
might make sense to replace the whole Django WSGI application with a custom one
that later delegates to the Django one. For example, you could introduce WSGI
middleware here, or combine a Django application with an application of another
framework.
"""
import os

# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks
# if running multiple sites in the same mod_wsgi process. To fix this, use
# mod_wsgi daemon mode with each site in its own daemon process, or use
# os.environ["DJANGO_SETTINGS_MODULE"] = "rodan.settings"
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "rodan.settings")

# This application object is used by any WSGI server configured to use this
# file. This includes Django's development server, if the WSGI_APPLICATION
# setting points here.
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

# Apply WSGI middleware here.
# from helloworld.wsgi import HelloWorldApplication
# application = HelloWorldApplication(application)

0 comments on commit a9cd78e

Please sign in to comment.