Proyecto creado con Flask - Python. Permite detectar la cara de una persona a través de la cámara de un dispositivo desde la WEB.
- Verificar python:
python --version- Si aún no tienes virtualenv instalado, instálalo ejecutando:
pip install virtualenv- Crear entorno virtual:
# python -m venv nombre_del_entorno
# Windows OS
py -3 -m venv .venv
# macOS/Linux
python3 -m venv .venv- Activación de entorno virtual:
# Windows OS
.venv\Scripts\activate
# macOS/Linux
. .venv/bin/activate- Desactivación de entorno virtual:
# Windows OS
deactivate
# macOS/Linux
source bin/deactivate- Creación de archivo de dependencias:
python -m pip freeze > requirements.txt- Instala las dependencias:
pip install -r requirements.txt- Verifica la instalación:
pip list- Instalar Flask:
pip install Flask- Ejecutar el programa:
python run.py- Para restablecer el estado de autorización de la aplicación:
tccutil reset CameraMétodo 1: nohup
nohup (no hang up) es una forma sencilla de mantener tu aplicación en ejecución después de cerrar la sesión SSH.
- Ingresa a tu entorno virtual.
- Ejecuta tu archivo
run.pyconnohupy redirige la salida a un archivo para monitorear los registros.
nohup python run.py > output.log 2>&1 &El símbolo & al final hace que el proceso se ejecute en segundo plano. La salida estándar y la salida de error se redirigen al archivo output.log.
Método 2: screen o tmux
- Usando
screen:
- Instala
screensi no lo tienes ya instalado:
sudo yum install screen # Para Amazon Linux
sudo apt-get install screen # Para Ubuntu- Inicia una nueva sesión de
screen:
screen -S mi_sesion- Ingresa a tu entorno virtual y ejecuta tu aplicación:
python run.py- Para desengancharte de la sesión sin detener el proceso, presiona Ctrl+A seguido de D.
- Puedes volver a conectar a la sesión con:
screen -r mi_sesion- Usando
tmux:
- Instala
tmuxsi no lo tienes ya instalado:
sudo yum install tmux # Para Amazon Linux
sudo apt-get install tmux # Para Ubuntu- Inicia una nueva sesión de tmux:
tmux new -s mi_sesion- Ingresa a tu entorno virtual y ejecuta tu aplicación:
python run.py- Para desengancharte de la sesión sin detener el proceso, presiona Ctrl+B seguido de D.
- Puedes volver a conectar a la sesión con:
tmux attach -t mi_sesionMétodo 3: Supervisord
supervisord es un sistema de control de procesos que permite ejecutar aplicaciones y asegurarse de que se reinicien en caso de fallo.
- Instala
supervisor:
sudo yum install supervisor # Para Amazon Linux
sudo apt-get install supervisor # Para Ubuntu- Configura
supervisorañadiendo una nueva configuración para tu aplicación. Abre el archivo de configuración desupervisor(por ejemplo, /etc/supervisor/conf.d/myapp.conf):
[program:mi_app]
command=/ruta/a/tu/entorno_virtual/bin/python /ruta/a/tu/run.py
directory=/ruta/a/tu/directorio_de_aplicacion
autostart=true
autorestart=true
stderr_logfile=/var/log/mi_app.err.log
stdout_logfile=/var/log/mi_app.out.log- Actualiza la configuración y reinicia
supervisor:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start mi_appEstos métodos te permitirán mantener tu aplicación Flask en ejecución continua en tu instancia EC2 de AWS.