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.
--Procédures pour exécuter Python sur 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).
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.
Après l'exécution, définissez le répertoire actuel sur C: \ Apache24 \ bin
comme indiqué dans l'image ci-dessous.
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é.
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.
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é.
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.
Si vous voyez quelque chose comme ça, vous réussissez.
Utilisez le module ʻinfluxdbpour obtenir les données InfluxDB en Python. Il n'est pas installé par défaut, vous devez donc l'installer avec
pip` 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:
Le saut de ligne «
» est également activé correctement.
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 ...
Recommended Posts