Project

General

Profile

Actions

Django-hosting » History » Revision 16

« Previous | Revision 16/30 (diff) | Next »
Nico Schottelius, 04/08/2016 01:16 PM


django-hosting.ch by ungleich

How to use

  1. Configure your app
  2. Deploy your app
  3. Install python requirements into the pyvenv
  4. Restart uwsgi to restart your app
  5. Go to http://your-hostname/ and enjoy!

Configure your app

WSGI

  • Ensure that there is projectname/wsgi.py in your project root

Database

Add the following to your settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'app',
    }
}

Static and media files

Static files should be place in /home/app/app/static and media files in /home/app/app/media.

Use the following code for configuration:

STATIC_ROOT = os.path.join(BASE_DIR, "static/")
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')

Deploy

You can login to your VM as user app (for the django app) and root (in case you need to change settings):

ssh app@MYHOSTNAME
  • Deploy / update your app into the folder ~app/app (that is the app folder in the home of the user app)
  • We recommended to use git to deploy it

Install python requirements into the pyvenv

Pyvenv has been installed to ~app/pyvenv for you.
Required packages for the hosting like PostgreSQL support and uwsgi support have already been placed.

You need to use pyvenv found in ~app/pyvenv, as uwsgi loads this pyvenv before loading your app.

To install your requirements use:

. ~/pyvenv/bin/activate
pip install ...

Restarting the app

  • sudo systemctl restart uwsgi

Viewing logfiles

  • nginx access log: tail -F /var/log/nginx/access.log
  • nginx error log: tail -F /var/log/nginx/error.log
  • uwsgi log: tail -F /var/log/uwsgi/app/app.log

Description of the stack

Technologies

  • Debian 8
  • nginx
  • PostgreSQL
  • uwsgi

Configuration

  • user "app"
    • in group "adm" (to view logfiles)
  • PostgreSQL with
    • database "app"
    • Listens only on localhost / socket (no remote connections)

Updated by Nico Schottelius over 8 years ago · 16 revisions