Créez un répertoire cgi-bin
directement sous votre répertoire personnel.
user@hostname:~$ mkdir cgi-bin
user@hostname:~$ cd cgi-bin
user@hostname:~/cgi-bin$ which python3
/usr/bin/python3
user@hostname:~/cgi-bin$ vi hello.py
Vérifiez le chemin Python3 avec la commande which
.
hello.py
#!/usr/bin/python3
print('Content-Type: text/html; charset=utf-8')
print()
print('<h1>Hello, World!</h1>')
print ('Content-Type: text / html; charset = utf-8')
fonctionne comme un en-tête HTTP et incorpore la chaîne de sortie dans le code à l'intérieur de la balise HTML BODY
. être capable de. charset
est une déclaration explicite du code de caractère du fichier.print ('Content-Type: text / html; charset = utf-8 \ n \ n')
. ..La procédure d'exécution de CGI est expliquée.
Le développement local est possible avec les trois étapes ci-dessus.
Si vous souhaitez le publier, vous pouvez le publier à l'aide d'Apache2. (Pour plus de détails, consultez cet article)
user@hostname:~$ ls
cgi-bin
user@hostname:~$ sudo chmod -R +x cgi-bin
python3 -m http.server 8080 --cgi
Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...
Notez que vous devez démarrer le serveur directement au-dessus du répertoire *** cgi-bin. *** *** Maintenant qu'il est publié sur localhost, accédez à [http: // localhost: 8080 / cgi-bin / hello.py](http: // localhost: 8080 / cgi-bin / hello.py). S'il est affiché, il réussit.
404 Not Found
403 Forbidden
ls -l
pour voir si x
est attaché.
--Si vous accédez à http: // localhost: 8080 / cgi-bin
, accédez-y avec un lien direct vers le fichier.500 Internal Server Error
--Il est difficile d'identifier la cause car elle est affichée comme un large éventail d'erreurs dues à des erreurs liées au serveur.
--Lorsque vous affichez le terminal qui a démarré le serveur, le journal d'accès est affiché sous Serving HTTP sur 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...
, vérifiez donc les détails de l'erreur. Et faites avec.
--Commun
--cgi
lorsque vous démarrez le serveur.Recommended Posts