[PYTHON] API avec Flask + uWSGI + Nginx

Enfin, Flask + uWSGI + Nginx pourra accéder à l'API.

Installation de Nginx

Tout d'abord, installez Nginx et assurez-vous que cela fonctionne.

$ sudo apt install -y nginx
$ sudo systemctl start nginx
$ curl http://localhost
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

Fichier de configuration Nginx

Puisque /etc/nginx.nginx.conf dit include /etc/nginx/conf.d/*.conf;, créez un fichier de configuration pour uWSGI dans /etc/nginx/conf.d/.

$ sudo vi /etc/nginx/conf.d/api.conf
server {
    listen       80;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:///tmp/uwsgi.sock;
    }
}

Désactiver le site par défaut de Nginx

Il existe un paramètre de site par défaut dans / etc / nginx / sites-enabled / default, qui est inclus dans nginx.conf, alors commentez-le.

$ sudo vi /etc/nginx/nginx.conf
- include /etc/nginx/sites-enabled/*;
+ #include /etc/nginx/sites-enabled/*;

démarrer uWSGI

$ uwsgi --socket=/tmp/uwsgi.sock --wsgi-file=app.py --callable=app --chmod-socket=666
$ curl http://localhost/hello
{'message': 'Hello world!'}

Vous pouvez maintenant accéder à l'API avec Flask + uWSGI + Nginx.

Paramètres uWSGI

Il est intéressant de regrouper les arguments dans ini.

$ vi uwsgi.ini
$ uwsgi uwsgi.ini
[uwsgi]
 
wsgi-file=app.py
callable=app
http=0.0.0.0:8000
socket=/tmp/uwsgi.sock
chmod-socket=666

Je me demande si je devrais en faire un service et le démarrer automatiquement.

Recommended Posts

API avec Flask + uWSGI + Nginx
Serveur à grande échelle réalisé avec Nginx + uWSGI + Flask + Ubuntu (installation)
Serveur à grande échelle réalisé avec Nginx + uWSGI + Flask + Ubuntu (implémentation)
Persistez le serveur d'API Flask avec Forever
Jusqu'à Hello World avec Flask + uWSGI + Nginx @ Sakura's VPS (CentOS 6.6)
Créer un environnement Python + uWSGI + Nginx avec Docker
[Python] Créez rapidement une API avec Flask
Flask ne peut pas être RESTful avec les applications d'API Azure
Hello World avec nginx + uwsgi + python sur EC2
Créer un environnement de Nginx + uWSGI + Python (Django) avec docker
Essayez l'authentification OAuth Slack avec Flask (API Slack V2)
Exécutez Flask sur CentOS avec python3.4, Gunicorn + Nginx.
Utilisation de Flask avec la configuration Nginx + gunicorn [Environnement local]
Non bloquant avec Python + uWSGI
Restriction IP avec Flask
Extruder avec l'API Fusion360
WebSocket avec Python + uWSGI
Bonjour le monde sur flacon
Programmation avec Python Flask
Journal de sortie vers la console avec Flask + Nginx sur Docker
Essayez de créer une API RESTful avec MVC à l'aide de Flask 1.0.2
Configuration pour exécuter l'application dans un sous-répertoire avec nginx + uwsgi
Créer un environnement django avec docker-compose (MariaDB + Nginx + uWSGI)
De l'introduction de Flask sur CentOS au service sur Nginx et uWSGI
[Avec diagramme d'image] Nginx + gunicorn + Flask converti en Docker [Partie 2]
Téléchargement d'image avec l'API Flickr
Déployez Flask avec ZEIT maintenant
Utiliser l'API Trello avec python
Touch Flask + courir avec Heroku
Bonjour le monde avec Flask + Hamlish
Créer une API avec Django
[blackbird-nginx] Surveiller Nginx avec blackbird
Développement d'applications Web avec Flask
J'ai essayé de créer LINE-bot avec Python + Flask + ngrok + LINE Messaging API
Contrôler le libellé des erreurs avec nginx
Obtenir des informations avec l'API Zabbix
API Web avec Python + Falcon
Voir la couverture du flacon avec pytest-cov
Soutenez-vous avec l'API Twitter
Appelez l'API avec python3.
Application Web avec Python + Flask ② ③
Utiliser l'API subsonique avec python3
Téléchargement de fichiers avec Flask + jQuery
[Avec diagramme d'image] Nginx + gunicorn + Flask converti en Docker [Partie 1]
Update_with_media réussi avec l'API Twitter
Application Web avec Python + Flask ④
Qiita API Oauth avec Django
Jusqu'à ce que l'API créée par Flask + MySQL soit convertie en Docker
Obtenez un classement avec l'API Rakuten
Créez rapidement un environnement d'exécution d'application Web Python3.4 + Nginx + uWSGI + Flask en utilisant pyenv sur Ubuntu 12.04
Construction de l'environnement de développement Django avec Docker-compose + Nginx + uWSGI + MariaDB (édition macOS)
(Remarque) Remarques sur la création de l'environnement TensorFlow + Flask + Nginx avec Docker Compose
Utilisez Nutanix avec l'API REST, partie 2
Construisez FastAPI + uvicorn + nginx avec docker-compose
[Connexion LINE] Vérifier l'état avec Flask
[AWS] Créer une API avec API Gateway + Lambda
Obtenez des avis avec l'API googlemap de python
[Mémo] Liens lors du développement avec Flask