Desempolvando el blog

Hola Comunidad,

Aunque he pasado inactivo muchos meses desde mi última publicación, me gustaría comentar que, han pasado muchas cosas y he estado trabajando en varios proyectos interesantes.

En los siguientes días sacaré tiempo para publicar algunas de las cosas que he estado haciendo en estos meses. Por ejemplo, espero publicar mucho acerca de postgreSQL, con el que he estado probando la replicación maestro-esclavo.

También, como parte de un curso de Linux Básico que impartí en Octubre para una institución de El Salvador que se llama FEPADE, pienso publicar algunos tutoriales de herramientas de automatización para servidores, principalmente relacionadas a ...

Continue reading

Deploy de Django + nginx + virtualenv + gunicorn + supervisord

Desde hace un mes, estoy jugando con nginx para mi panel de control de Hosting Amaterasu y una de las cosas que he aprendido y quiero compartir, es el deploy de aplicaciones Django.

Crearé este tutorial, asumiendo que ustedes tienen en su servidor o equipo donde instalarán la aplicación Ubuntu/Debian.

El primer paso, es instalar las python-setuptools:

sudo apt-get install python setuptools

El segundo paso, es instalar pip que será el gestor de paquetes para proyectos python que vamos a usar

sudo easy_install pip

El tercer paso, es instalar virtualenv, que nos permite crear entornos virtuales (una especie de ...

Continue reading

Deploy de Django con mod_wsgi + virtualenv

El día de ayer le comentaba a alguien por Twitter que, para el deploy de aplicaciones Django usando apache + mod_wsgi tenia que hacer unos cambios en el archivo .wsgi si quería utilizar virtualenv.

Pues bien, el día de hoy quiero publicar esa modificación para los que quieran usarla.

import os
import sys
import site

sys.stdout = sys.stderr

VE_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, "venv/lib/python2.7/site-packages"))
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__)))
ROOT_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir ...

Continue reading