Lo primero es tener descargado Web2py en la computadora, supondremos la siguiente ubicación:
/root/web2py/
lo siguiente es instalar gunicorn
pip3 install gunicorn
Ahora debemos ejecutar Web2py con Gunicorn, para esto usaremos anyserver.py de web2py y ejecutarlo en la ip local y el puerto 8000:
python3 /root/web2py/anyserver.py -s gunicorn -i 127.0.0.1 -p 8000 -w 3
Probamos con el navegador a la direccion 127.0.0.1:8000 que nuestra aplicacion funciona con Gunicorn. Vericado esto detenemos esta ejecucion.
Ahora vas a crear un servicio para ser gestionado por parte de systemd, para esto utilizamos el siguiente codigo:
nano /etc/systemd/system/web2py.service
[Unit]
Description=Instacion Gunicorn para web2py
After=network.target
[Service]
User=root
Group=root
WorkingDirectory=/root/web2py
ExecStart=python3 /root/web2py/anyserver.py -s gunicorn -i 127.0.0.1 -p 8000 -w 3
[Install]
WantedBy=multi-user.target
Ahora lo iniciamos con el siguiente comando:
systemctl start web2py
systemctl enable web2py
Y verificamos que todo este bien con:
systemctl status web2py
Instalar y configurar Nginx
Ya podemos comenzar a configurar Nginx Primero instalamos Nginx:
apt install nginx
Ahora creamos un archivo de configuracion para Nginx que realizara la llamada al servicio Gunicorn que corre en el puerto 8000:
nano /etc/nginx/sites-available/web2py
server {
listen 80;
server_name your_domain;
location / {
include proxy_params;
proxy_pass http://127.0.0.1:8000;
}
}
Guarde y cierre el archivo al finalizar.
Para habilitar la configuración del bloque de servidor de Nginx que acaba de crear, vincule el archivo al directorio sites-enabled:
ln -s /etc/nginx/sites-available/web2py /etc/nginx/sites-enabled
Verificamos que esto este bien con Nginx a traves del siguiente comando:
nginx -t
Si todo esta bien, reiniciamos Nginx:
systemctl restart nginx
Ya todo deberia estar listo y usando el navegador revisados el accesso al domino http://your_domain
Activar HTTPS
Vamos a usar certificados de Let’s Encrypt, los cuales son gratuitos y validos. Debemos instalar el cliente Certbot y su pligun para Nginx para esto:
apt install certbot python3-certbot-nginx
Ahora ejecutamos Certbot con el plugin de Nginx, esto realizara el cambio en la configuracion y reinicio de Nginx:
certbot --nginx -d your_domain
Debemos ir eligiendo las opciones y ya deberiamos estar listo, ahora ingresemos a https://your_domain
2 comentarios:
Hola Julio,
De qué país sos vos?
Gracias por colaborar e repartir conocimientos com el wewb2py?
Hola Ari, yo soy de Chile. Y llevo varios años trabajando con web2py, me parece un framework muy bueno. En Python para el desarrollo web web2py es el mejor y esperando py4web.
Publicar un comentario