Exécutez Python sur Apache pour afficher les données InfluxDB

introduction

J'ai eu beaucoup de mal à exécuter Python sur Apache, ce sera donc un article qui servira également de mémorandum. Je suis encore un débutant, donc si vous avez des points ou des conseils, n'hésitez pas à les signaler.

Aperçu

--Procédures pour exécuter Python sur Apache

environnement

Préparation à l'installation d'Apache

Le programme d'installation d'Apache peut être téléchargé à partir du site suivant.

Apache Lounge : https://www.apachelounge.com/download/

Lorsque vous décompressez le fichier au format zip, vous y trouverez un fichier appelé ʻApache24`, alors placez-le dans n'importe quel répertoire (cette fois directement sous le lecteur C).

Installation d'Apache

Installez Apache à l'invite de commande. ** C'est vrai, je le fais sur cet écran noir. ** Vous devez l'ouvrir en tant qu'administrateur, alors entrez la commande suivante au démarrage.

powershell start-process cmd -verb runas

Une fois exécuté, il peut être ouvert en tant qu'administrateur.

De plus, si vous dites "C'est un problème de taper une commande!", Recherchez comme indiqué dans l'image ci-dessous et appuyez sur "Exécuter en tant qu'administrateur" pour obtenir le même résultat. スクリーンショット (6).png

Après l'exécution, définissez le répertoire actuel sur C: \ Apache24 \ bin comme indiqué dans l'image ci-dessous. スクリーンショット (9).png

Entrez httpd -k install ici pour terminer l'installation d'Apache. À partir de maintenant, entrez des commandes sur cet écran pour démarrer, arrêter et redémarrer.

Début: httpd -k start Stop: httpd -k stop Redémarrer: httpd -k restart

Entrez http: // localhost dans votre navigateur et ce sera OK si ** It works! ** est affiché.

Traiter Python avec Apache

Placer le fichier «.py» dans les «htdocs» d'Apache et l'exécuter ne traite pas Python par défaut. Le script est renvoyé sous forme de texte brut car il n'est pas traité. Par conséquent, il est nécessaire de réécrire le fichier de paramètres et de modifier le script Python lui-même.

Réécriture de httpd.conf

Il y a un fichier appelé httpd.conf dans C: \ Apache24 \ conf, alors ouvrez-le et réécrivez-le comme suit.

httpd.conf



#LoadModule cgi_module modules/mod_cgi.so
 ↓
LoadModule cgi_module modules/mod_cgi.so

Options Indexes FollowSymLinks
 ↓
Options Indexes FollowSymLinks ExecCGI

#AddHandler cgi-script .cgi
 ↓
AddHandler cgi-script .cgi .py

Redémarrez Apache lorsque vous avez terminé.

Création / exécution de script Python

Tout d'abord, écrivons un script simple et exécutons-le pour vérifier s'il peut être affiché facilement.

hello.py


#!C:/Users/"Nom d'utilisateur"/AppData/Local/Programs/Python/Python37/python.exe
# -*- coding: utf-8 -*-

print("Content-Type: text/html;\n")
print("<h1>hello</h1>")

La première ligne, #! C: / Users /" username "/ AppData / Local / Programs / Python / Python37 / python.exe, spécifie Python à exécuter sur Apache. Suivez le chemin vers Python installé sur votre PC. Assurez-vous de l'écrire car vous ne pouvez pas traiter Python sans lui. Cette fois, j'ai ajouté une balise <h1> </ h1> pour faciliter la distinction du cas où elle est renvoyée sous forme de texte. Si vous exécutez ce script et que vous voyez «bonjour» en gras, vous avez réussi.

スクリーンショット (17).png Si vous voyez quelque chose comme ça, vous réussissez.

Obtenir et générer des données InfluxDB

Utilisez le module ʻinfluxdbpour obtenir les données InfluxDB en Python. Il n'est pas installé par défaut, vous devez donc l'installer avecpip` depuis le terminal.

pip install influxdb

Si vous utilisez un réseau sur le campus ou d'entreprise, vous devrez peut-être spécifier un serveur proxy. Dans ce cas,

pip install influxdb --proxy="Serveur proxy:Port"

Ce n'est pas grave si vous le faites.

Maintenant, récupérons la valeur d'InfluxDB et affichons-la sur le navigateur. J'ai réécrit le «hello.py» que j'ai utilisé plus tôt.

hello.py


#!C:/Users/Nom d'utilisateur/AppData/Local/Programs/Python/Python37/python.exe
# -*- coding: utf-8 -*-

from influxdb import InfluxDBClient

print("Content-Type: text/html;\n")

client = InfluxDBClient(
    host='nom d'hôte',
    port=8086,
    username='root',
    password='root',
    database='Nom de la base de données'
)

dbq = client.query("select * from test_measurement")
for i in dbq:
    for n in i:
        print(n)
        print("<br>")

Quand j'ai fait cela, le navigateur a affiché quelque chose comme ceci: スクリーンショット (22).png Le saut de ligne «
» est également activé correctement.

finalement

J'ai l'intention d'écrire la procédure qui a été exécutée afin qu'il n'y ait pas d'erreurs, mais si vous avez des suggestions ou des conseils, n'hésitez pas à me le dire. C'est la première fois que je poste sur Qiita, mais c'est assez difficile d'écrire une phrase comme celle-ci ...

référence

Recommended Posts

Exécutez Python sur Apache pour afficher les données InfluxDB
Mettez MicroPython sur Windows pour exécuter ESP32 sur Python
TensorFlow: exécuter des données apprises en Python sur Android
Comment intégrer mod_wsgi dans Apache sur Windows Python
Exécutez Openpose sur Python (Windows)
[Python] Notes sur l'analyse des données
Exécutez Tensorflow 2.x sur Python 3.7
Mettez à jour le python que vous aviez sur votre Mac à 3.7-> 3.8
Exécutez le CGI de Python sur CORESERVER
Exécutez la commande unix sur python
Comment exécuter Notepad ++ Python
[Python] Comment FFT des données mp3
Python 3.6 sous Windows ... et vers Xamarin.
Préparation à l'exécution de Flask sur EC2
Introduction à Python Hands On Partie 1
Exécutez Python selon la planification sur AWS Lambda
Exécutez l'image Docker de TensorFlow sur Python3
Comment exécuter matplotlib sur heroku
Jusqu'à ce que Python fonctionne sur Apache
Étapes pour installer python3 sur Mac
Exécutez régulièrement Python sur Heroku Scheduler
Mettre à jour Mac Python de 2 à 3
Comment installer OpenCV sur Cloud9 et l'exécuter en Python
[Python] Affichez les données sur les nouvelles infections à coronavirus sur une moyenne mobile de 7 jours
Mémorandum lors de l'exécution de Python sur EC2 avec Apache
Migrer les applications Django exécutées sur Python 2.7 vers Python 3.5
Créez des raccourcis pour exécuter des fichiers Python sur le terminal avec VScode
Exécutez le servo avec Python sur ESP32 (Windows)
Comment lire pydoc sur l'interpréteur python
[Python] Exécutez Flask sur Google App Engine
Intégration de données depuis l'application Python sur Linux vers Amazon Redshift avec ODBC
Convertir des données Excel en JSON avec python
Exécutez AzureKinect en Python la veille de Noël.
Étapes pour installer l'environnement Python sur Ubuntu
[Introduction à Python3 Jour 19] Chapitre 8 Destinations de données (8.4-8.5)
Comment effacer Python 2.x sur Mac.
Convertissez des données FX 1 minute en données 5 minutes avec Python
Mémorandum sur l'utilisation du python gremlin
[Introduction à Python3 Day 18] Chapitre 8 Destinations de données (8.3.6.2 à 8.3.6.3)
Comment installer Apache (httpd) sur CentOS7
[Python] Exécutez Headless Chrome sur AWS Lambda
Installez python sur xserver pour utiliser pip
Exécutez le code Python sur A2019 Community Edition
Comment utiliser "deque" pour les données Python
Comment installer Apache (httpd) sur CentOS8
Compressez les données python et écrivez sur sqlite
Intégration de données depuis l'application Python sur Windows vers Amazon Redshift avec ODBC
Notes sur la façon d'exécuter Cython sur OSX
Exécutez Python en C ++ sur Visual Studio 2017
Comment exécuter des scripts Maya Python
[Introduction au Data Scientist] Bases de Python ♬
Livres sur la science des données à lire en 2020
Exécutez le serveur python wsgi sur l'unité NGINX
Exécutez régulièrement des programmes Python sur AWS Lambda
Installez et exécutez Python3.5 + NumPy + SciPy sur Windows 10
Modèle d'extension Python C / C ++ - Passez des données à Python en tant que np.array
Exécutez une application django sur Windows + Apache + mod_wsgi + service.
[Python] 100 coups sur la science des données (traitement de données structurées) 018 Explication
[Version 2020] Comment installer Python3 sur EC2 d'AWS
Un moyen simple d'utiliser Python 2.7 sur Cent OS 6