From 3cb2c7632c4a2ac5d48681b11bf9df5ad389ca57 Mon Sep 17 00:00:00 2001 From: Edward Ribeiro Date: Mon, 14 Mar 2016 20:00:56 -0300 Subject: [PATCH 1/3] =?UTF-8?q?Configura=20gunicorn=20para=20m=C3=A1quina?= =?UTF-8?q?=20de=20homologa=C3=A7=C3=A3o/produ=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.rst | 12 +++++++++--- gunicorn_start.sh | 32 ++++++++++++++++++++++++++++++++ requirements/requirements.txt | 1 + 3 files changed, 42 insertions(+), 3 deletions(-) create mode 100755 gunicorn_start.sh diff --git a/README.rst b/README.rst index 637a90cd3..e77962fa9 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,4 @@ -.. image:: https://badge.waffle.io/interlegis/sapl.png?label=ready&title=Ready +.. image:: https://badge.waffle.io/interlegis/sapl.png?label=ready&title=Ready :target: https://waffle.io/interlegis/sapl :alt: 'Stories in Ready' @@ -20,8 +20,8 @@ Development Environment Installation * Install the following system dependencies (command bellow for Ubuntu):: - sudo apt-get install git python3-dev libpq-dev graphviz-dev graphviz \ - postgresql postgresql-contrib pgadmin3 python-psycopg2 nodejs npm + sudo apt-get install git nginx python3-dev libpq-dev graphviz-dev graphviz \ + pkg-config postgresql postgresql-contrib pgadmin3 python-psycopg2 nodejs npm \ sudo ln -s /usr/bin/nodejs /usr/bin/node @@ -31,6 +31,12 @@ Development Environment Installation * Fork and clone this repository, following the instructions in https://help.github.com/articles/fork-a-repo. +* If you don't have pip installed then execute the following instructions: + + sudo apt-get install python-pip python-dev build-essential + sudo pip install --upgrade pip + sudo pip install --upgrade virtualenv + * Create a virtualenv using python 3 for the project and activate it. If you use `virtualenvwrapper `_:: diff --git a/gunicorn_start.sh b/gunicorn_start.sh new file mode 100755 index 000000000..d97734c68 --- /dev/null +++ b/gunicorn_start.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# As seen in http://tutos.readthedocs.org/en/latest/source/ndg.html + +NAME="sapl" # Name of the application (*) +DJANGODIR=`pwd` # Django project directory (*) +SOCKFILE=`pwd`/run/gunicorn.sock # we will communicate using this unix socket (*) +USER=`whoami` # the user to run as (*) +GROUP=`whoami` # the group to run as (*) +NUM_WORKERS=1 # how many worker processes should Gunicorn spawn (*) +DJANGO_SETTINGS_MODULE=sapl.settings # which settings file should Django use (*) +DJANGO_WSGI_MODULE=sapl.wsgi # WSGI module name (*) + +echo "Starting $NAME as `whoami`" + +# Activate the virtual environment +#cd $DJANGODIR +#source /var/www/test/venv/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 gunicorn ${DJANGO_WSGI_MODULE}:application \ + --name $NAME \ + --workers $NUM_WORKERS \ + --user $USER \ + --bind=unix:$SOCKFILE diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 3e7e04641..5b3d8bc2d 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -19,3 +19,4 @@ pyyaml==3.11 rtyaml==0.0.2 unipath==1.1 python-magic==0.4.10 +gunicorn==19.4.5 From 09290c2f40b444eea86508493f44a8eb87e21a8e Mon Sep 17 00:00:00 2001 From: Edward Ribeiro Date: Thu, 17 Mar 2016 10:39:32 -0300 Subject: [PATCH 2/3] =?UTF-8?q?Adi=C3=A7=C3=A3o=20de=20gunicorn=20simples?= =?UTF-8?q?=20(sem=20nginx)=20e=20ajustes=20de=20workers=20do=20gunicorn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gunicorn_start.sh | 5 +++-- simple_gunicorn.sh | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100755 simple_gunicorn.sh diff --git a/gunicorn_start.sh b/gunicorn_start.sh index d97734c68..cf1426641 100755 --- a/gunicorn_start.sh +++ b/gunicorn_start.sh @@ -2,12 +2,13 @@ # As seen in http://tutos.readthedocs.org/en/latest/source/ndg.html -NAME="sapl" # Name of the application (*) +NAME="SAPL" # Name of the application (*) DJANGODIR=`pwd` # Django project directory (*) SOCKFILE=`pwd`/run/gunicorn.sock # we will communicate using this unix socket (*) USER=`whoami` # the user to run as (*) GROUP=`whoami` # the group to run as (*) -NUM_WORKERS=1 # how many worker processes should Gunicorn spawn (*) +NUM_WORKERS=9 # how many worker processes should Gunicorn spawn (*) + # NUM_WORKERS = 2 * CPUS + 1 DJANGO_SETTINGS_MODULE=sapl.settings # which settings file should Django use (*) DJANGO_WSGI_MODULE=sapl.wsgi # WSGI module name (*) diff --git a/simple_gunicorn.sh b/simple_gunicorn.sh new file mode 100755 index 000000000..3d1bb40d4 --- /dev/null +++ b/simple_gunicorn.sh @@ -0,0 +1 @@ +gunicorn --bind 10.1.2.119:8000 sapl.wsgi:application From f12da2b82e23d5c02f88bf074e091c5a36fd09a2 Mon Sep 17 00:00:00 2001 From: Edward Ribeiro Date: Wed, 23 Mar 2016 14:10:28 -0300 Subject: [PATCH 3/3] =?UTF-8?q?Atualiza=20scripts=20de=20deploy=20da=20pro?= =?UTF-8?q?du=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gunicorn_start.sh | 8 ++++---- simple_gunicorn.sh | 9 +++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/gunicorn_start.sh b/gunicorn_start.sh index cf1426641..f68613c26 100755 --- a/gunicorn_start.sh +++ b/gunicorn_start.sh @@ -3,8 +3,8 @@ # As seen in http://tutos.readthedocs.org/en/latest/source/ndg.html NAME="SAPL" # Name of the application (*) -DJANGODIR=`pwd` # Django project directory (*) -SOCKFILE=`pwd`/run/gunicorn.sock # we will communicate using this unix socket (*) +DJANGODIR=/home/sapl31/sapl # Django project directory (*) +SOCKFILE=/home/sapl31/sapl/run/gunicorn.sock # we will communicate using this unix socket (*) USER=`whoami` # the user to run as (*) GROUP=`whoami` # the group to run as (*) NUM_WORKERS=9 # how many worker processes should Gunicorn spawn (*) @@ -15,8 +15,8 @@ DJANGO_WSGI_MODULE=sapl.wsgi # WSGI module name (*) echo "Starting $NAME as `whoami`" # Activate the virtual environment -#cd $DJANGODIR -#source /var/www/test/venv/bin/activate +cd $DJANGODIR +source ~/.virtualenvs/sapl/bin/activate export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE export PYTHONPATH=$DJANGODIR:$PYTHONPATH diff --git a/simple_gunicorn.sh b/simple_gunicorn.sh index 3d1bb40d4..82530bc50 100755 --- a/simple_gunicorn.sh +++ b/simple_gunicorn.sh @@ -1 +1,10 @@ +DJANGODIR=/home/sapl31/sapl # Django project directory (*) +DJANGO_SETTINGS_MODULE=sapl.settings # which settings file should Django use (*) +DJANGO_WSGI_MODULE=sapl.wsgi # WSGI module name (*) + +cd $DJANGODIR +source ~/.virtualenvs/sapl/bin/activate +export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE +export PYTHONPATH=$DJANGODIR:$PYTHONPATH + gunicorn --bind 10.1.2.119:8000 sapl.wsgi:application