Diferencia entre revisiones de «Usuario:Lmorillas/desarrollo web servidor/flask/despliegue»

De WikiEducator
Saltar a: navegación, buscar
Línea 2: Línea 2:
  
 
{{TOC | right}}
 
{{TOC | right}}
 +
== Apache con WSGI ==
  
 
{{Objetivo|1=
 
{{Objetivo|1=
'''Documentación:'''
 
 
* http://flask.pocoo.org/docs/deploying/mod_wsgi/
 
* http://flask.pocoo.org/docs/deploying/mod_wsgi/
 
* https://beagle.whoi.edu/redmine/projects/ibt/wiki/Deploying_Flask_Apps_with_Apache_and_Mod_WSGI
 
* https://beagle.whoi.edu/redmine/projects/ibt/wiki/Deploying_Flask_Apps_with_Apache_and_Mod_WSGI
 +
|Title=Documentación
 +
|TOCdepth=3}}
 +
 +
{{Objetivo|1=
 +
En linux:
  
'''Pasos'''
 
 
* Instalar mod-wsgi
 
* Instalar mod-wsgi
 
  $ sudo apt-get update
 
  $ sudo apt-get update
 
  $ sudo apt-get install libapache2-mod-wsgi
 
  $ sudo apt-get install libapache2-mod-wsgi
* Crear archivo de arranque
+
* Crear archivo de arranque '''lanzador.wsgi'''
  from <miaplicacion> import app as application
+
: '''Tiene que tener permisos de ejecución '''
* Si se usa un '''virtualenv'''
+
   $ chmod +x lanzador.wsgi
   activate_this = '/ruta/al/env/bin/activate_this.py'
+
 
  execfile(activate_this, dict(__file__=activate_this))
+
<source lang="python">
* Si la aplicación no está instalada en el entorno virtual
+
# Si usamos virtualenv
  import sys
+
activate_this = '/ruta/al/env/bin/activate_this.py'
  sys.path.insert(0, '/ruta/a/la/aplicacion')
+
execfile(activate_this, dict(__file__=activate_this))
 +
 
 +
# Si no está instalada la app: para poder importar
 +
import sys
 +
sys.path.insert(0, '/ruta/a/la/aplicacion')
 +
 
 +
from <miaplicacion> import app as application
 +
</source>
 +
 
 
* Configurar Apache
 
* Configurar Apache
 
<source lang="apache">
 
<source lang="apache">
Línea 36: Línea 48:
 
</VirtualHost>
 
</VirtualHost>
 
</source>
 
</source>
|TOCdepth=2
+
|TOCdepth=3
|Title=Despliegue con Apache}}
+
|Title=Pasos}}
  
  
Línea 51: Línea 63:
 
</Directory>
 
</Directory>
 
</source>
 
</source>
|TOCdepth=2
+
|TOCdepth=3
 
| Title= Uso con userdir}}
 
| Title= Uso con userdir}}
  

Revisión de 04:26 12 dic 2013


Apache con WSGI

Documentación


Pasos

Icon objectives.jpg

Pasos

En linux:
  • Instalar mod-wsgi
$ sudo apt-get update
$ sudo apt-get install libapache2-mod-wsgi
  • Crear archivo de arranque lanzador.wsgi
Tiene que tener permisos de ejecución
 $ chmod +x lanzador.wsgi
# Si usamos virtualenv
activate_this = '/ruta/al/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
 
# Si no está instalada la app: para poder importar
import sys
sys.path.insert(0, '/ruta/a/la/aplicacion')
 
from <miaplicacion> import app as application
  • Configurar Apache
<VirtualHost *>
    ServerName example.com
 
    WSGIDaemonProcess yourapplication user=user1 group=group1 threads=5
    WSGIScriptAlias / /var/www/yourapplication/yourapplication.wsgi
 
    <Directory /var/www/yourapplication>
        WSGIProcessGroup yourapplication
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>



Uso con userdir

Icon objectives.jpg

Uso con userdir

Añadir a default virualhost:
<Directory /home/*/public_html>
	Options Indexes FollowSymLinks MultiViews ExecCGI
	AddHandler wsgi-script .wsgi
	Order allow,deny
	Allow from all
</Directory>


Despliegue en Heroku