Flask-Api
Aplicacion de Flask Restfull con las siguientes librerias:
Plugin | README |
---|---|
Flask_SqlAlchemy | https://flask-sqlalchemy.palletsprojects.com/en/2.x/ |
Flask_Restfull | https://flask-restful.readthedocs.io/en/latest/ |
Flask_Marshmellow | https://flask-marshmallow.readthedocs.io/en/latest/ |
Flask_cors | https://flask-cors.corydolphin.com/en/2.0.1/ |
New Features!
- Api Endpoints for:
- Account
- Marca
- AccountxMarca
]
Installation
Es necesario installar Nginx (web server) Container, Gunicorn (WSGI HTTP Server), Flask (Python Web Service) y Supervisor (Control Process)
Install.
$ apt-get -y install python3-pip python3-dev nginx nano
Inciar instalando el virtualenv package using pip:
$ sudo pip install virtualenv
Ahora podemos crear un ambiente virutal, para alogar nuestro Flask project
$ virtualenv Apis
Despues de installar la apliacion con el ambiente virtual se puede activar escribiendo
$ source myprojectenv/bin/activate
Install Flask and Gunicorn
Instalaremos usando la instancia local con pip
$ pip install gunicorn flask
Para probar la aplicacion Flask se debe correr el siguiente comando
$ python Api.py
Testing Gunicorn
$ cd ~/Api
$ gunicorn --bind 0.0.0.0:5000 Api:app
Supervisor
Se debe configurar el archivo en /etc/supervisord.conf con lo siguiente
[program:TaskApi]
directory=/home/Centos/API/Flask/TaskApi
gunicorn --bind 0.0.0.0:5000 TaskApi:app
autostart=true
autorestart=true
stderr_logfile=/var/log/Apis/Apis.err.log
stdout_logfile=/var/log/Apis/Apis.out.log
Para activar la configuracion, se debe correr el siguente comando:
$ sudo supervisord -c /etc/supervisord.conf
$ sudo supervisorctl -c /etc/supervisord.conf
Con esto se iniciara el proceso. Para comprar si el estatus de todas las aplicaciones que estan siendo monitoreadas usar el siguiente comando
$ sudo supervisord status
Free Software, Hell Yeah!
FlaskApiAdops
Comandos para reiniciar el supervisor
$ sudo su
$ systemctl reboot supervisord
$ systemctl start supervisord
Comandos para saber si esta activo el supervisor
$ sudo su
$ systemctl status supervisord