notas_deploy_nginx_ubuntu.txt 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. Notas para desplegar la app con una configuracion básica en servidor web nginx con el protocolo uwsgi.
  2. https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-14-04
  3. Prerequisitos
  4. =============
  5. * Esta prueba se ha realizado sobre Trisquel GNU/Linux 7.0 y NGINX instalado.
  6. * Se asume que el directorio de localizacion de la app es /srv/botadero/
  7. * Para poder ejecutar la app y permitir comunicar uwsgi con NGINX se debe
  8. instalar python-virtualenv y tener instalado python-pip
  9. * Para poder ejecutar la app se debe instalar los paquetes listados en
  10. Docu/pip_install.txt con:
  11. pip install paquetes
  12. * Copiar la carpeta del proyecto botadero en el directorio /srv/botadero
  13. * Cambiar el usuario y grupo
  14. chown -R www-data:www-data /srv/botadero
  15. botadero.ini
  16. ============
  17. En el repositorio se incluye el archivo botadero.ini para uwsgi.
  18. botadero.conf
  19. =============
  20. Este es un script para upstart usado en distribuciones basadas en ubuntu con
  21. upstart, esto para ejecutar la app al inicio del sistema
  22. El archivo deberia guardarse en /etc/init/botadero.conf y su contenido por
  23. ejemplo:
  24. description "uWSGI instancia del servidor app botadero"
  25. start on runlevel [2345]
  26. stop on runlevel [!2345]
  27. setuid www-data
  28. setgid www-data
  29. env PATH=/srv/botadero/venv/bin
  30. chdir /srv/botadero
  31. exec uwsgi --ini botadero.ini
  32. Una vez guardado el archivo para probar la app se debe iniciar el script con:
  33. sudo start botadero
  34. NGINX config
  35. ============
  36. Asumiendo que se creara otro virtualhost en nginx para la app se puede crear
  37. un nuevo archivo en /etc/nginx/sites-available/botadero con contenido:
  38. server{
  39. #listen puerto;
  40. listen 80;
  41. server_name dominio_del_server_o_IP;
  42. # permite la subida de archivos de hasta 5000 MB
  43. client_max_body_size 5000M;
  44. location / {
  45. include uwsgi_params;
  46. uwsgi_pass unix:/srv/botadero/botadero.sock;
  47. }
  48. }
  49. Luego de guardar el archivo enlazarlo:
  50. sudo ln -s /etc/nginx/sites-available/botadero /etc/nginx/sites-enabled
  51. Para probar el configs en NGINX:
  52. sudo nginx -t
  53. Si funciona reiniciar nginx
  54. sudo service nginx restart
  55. Probar la app
  56. =============
  57. La app deberia ser visible cuando alguien entre al servidor y también al
  58. probarla desde un navegador en el dominio o IP y puerto especificada en la
  59. configuración de nginx arriba.