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

De WikiEducator
Saltar a: navegación, buscar
Línea 11: Línea 11:
  
 
{{Objetivo|1=
 
{{Objetivo|1=
En linux:
+
|TOCdepth=3
 +
|Title=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 '''lanzador.wsgi'''
 
: '''Tiene que tener permisos de ejecución '''
 
  $ chmod +x lanzador.wsgi
 
  
 +
==== Configurar usuario ====
 +
  $ useradd -M flask
 +
  $ usermod -s /bin/false flask
 +
  $ usermod -L flask
 +
  $ adduser flask www-data
 +
 +
==== lanzador.wsgi ====
 
<source lang="python">
 
<source lang="python">
 
# Si usamos virtualenv
 
# Si usamos virtualenv
Línea 32: Línea 37:
 
</source>
 
</source>
  
* Configurar Apache
+
: '''Tiene que tener permisos de ejecución '''
 +
  $ chmod +x lanzador.wsgi
 +
 
 +
==== virtual host en apache ====
 
<source lang="apache">
 
<source lang="apache">
 
<VirtualHost *>
 
<VirtualHost *>
Línea 38: Línea 46:
  
 
     WSGIDaemonProcess yourapplication user=user1 group=group1 threads=5
 
     WSGIDaemonProcess yourapplication user=user1 group=group1 threads=5
     WSGIScriptAlias / /var/www/yourapplication/yourapplication.wsgi
+
     WSGIScriptAlias / /var/www/yourapplication/lanzador.wsgi
  
 
     <Directory /var/www/yourapplication>
 
     <Directory /var/www/yourapplication>
Línea 48: Línea 56:
 
</VirtualHost>
 
</VirtualHost>
 
</source>
 
</source>
|TOCdepth=3
 
|Title=Pasos}}
 
  
 +
  $ sudo a2ensite nuevo_sitio
 +
  $ sudo service apache2 restart | reload
  
{{Objetivo|1=
+
==== con userdir ====
Añadir a default virualhost:
+
 
+
 
<source lang="apache">
 
<source lang="apache">
 
<Directory /home/*/public_html>
 
<Directory /home/*/public_html>
Línea 63: Línea 69:
 
</Directory>
 
</Directory>
 
</source>
 
</source>
|TOCdepth=3
+
 
| Title= Uso con userdir}}
+
  
 
{{Objetivo|
 
{{Objetivo|

Revisión de 03:42 12 dic 2013


Apache con WSGI

Documentación


Pasos

Icon objectives.jpg

Pasos


Instalar mod-wsgi

$ sudo apt-get update
$ sudo apt-get install libapache2-mod-wsgi

Configurar usuario

 $ useradd -M flask
 $ usermod -s /bin/false flask
 $ usermod -L flask
 $ adduser flask www-data

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
Tiene que tener permisos de ejecución
 $ chmod +x lanzador.wsgi

virtual host en apache

<VirtualHost *>
    ServerName example.com
 
    WSGIDaemonProcess yourapplication user=user1 group=group1 threads=5
    WSGIScriptAlias / /var/www/yourapplication/lanzador.wsgi
 
    <Directory /var/www/yourapplication>
        WSGIProcessGroup yourapplication
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>
 $ sudo a2ensite nuevo_sitio
 $ sudo service apache2 restart | reload

con userdir

<Directory /home/*/public_html>
	Options Indexes FollowSymLinks MultiViews ExecCGI
	AddHandler wsgi-script .wsgi
	Order allow,deny
	Allow from all
</Directory>


Despliegue en Heroku