Blog / Tech

Ansible Playbook for a Django Stack (Nginx, Gunicorn, PostgreSQL, Memcached, Virtualenv, Supervisor)

April 20, 2014

I decided to create a separate GitHub project for the Ansible playbook I'm currently using to fully provision a production server for my open-source app, GlucoseTracker, so it can be reused by people who are using the same stack.

You can download the playbook here: https://github.com/jcalazan/ansible-django-stack

The playbook can fully provision an Ubuntu 12.04 LTS server (will test 14.04 soon) from the base image with the following applications, which are quite popular in the …

How to configure Nginx so you can quickly put your website into maintenance mode

April 6, 2014

I had to rebuild my Rackspace VPS last night where my Django app runs as I wanted to downgrade it because it was underutilized. Since I was already at the lowest tier for that category of servers, there's no option to resize it down, I would need to spin up a new server from a different server category.

Thanks to Ansible, though, provisioning a new server with all the applications and configurations I needed …

How to deploy encrypted copies of your SSL keys and other files with Ansible and OpenSSL

April 5, 2014

I've been working on fully automating server provisioning and deployment of my Django app, GlucoseTracker, the last couple of weeks with Ansible. Since I made this project open-source, I needed to make sure that passwords, secret keys, and other sensitive information are encrypted when I push my code to my repository.

Of course, I have the option to not commit them to the repo, but I want to be able to build …

Django Tip: How to configure Gunicorn to auto-reload your code during development

March 30, 2014

I just finished fully automating my entire server stack for my Django app with Ansible and Vagrant (using VirtualBox). One of the reasons I did this is to make my development environment as close to production as possible to hopefully eliminate any surprises when deploying to production. It also allows me to setup a development environment very quickly as I won’t have to deal with manual installation and configuration of different packages. In a team …

How to find out which web server a website is using with Telnet

March 24, 2014

Here’s a quick and easy way to figure out what kind of web server a website is using with good, old telnet. I like this method as most operating systems (both old and new versions) have a telnet client already installed.

Steps:

1. Open a command/terminal window.

2. Telnet to the server/website on port 80, e.g.

telnet www.glucosetracker.net 80

3. Type the following once you’re connected:

HEAD / HTTP/1.0

4. Hit the Enter key …