Serveur web python raspberry

Fermé
artemis0 Messages postés 903 Date d'inscription vendredi 3 janvier 2014 Statut Membre Dernière intervention 28 juillet 2018 - Modifié par artemis0 le 16/01/2016 à 22:10
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 17 janv. 2016 à 16:54
Bonjour,

j'ai désinstallé nginx de ma raspberry car je veux tester un programme de serveur web python, mais après la désinstallation, quand je fais 127.0.0.1, j'ai encore une erreur 403 forbiden de nginx. comment désinstaller totalement nginx ?

pour le désinstaller, j'avais fait sudo
apt-get remove nginx php5-fpm
, et la désinstallation s'est pourtant bien effectuée...

je précise que je débute sur raspberry

merci

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 408
17 janv. 2016 à 09:56
Salut,

sudo apt-get remove nginx nginx-common 

sudo apt-get purge nginx nginx-common

1
artemis0 Messages postés 903 Date d'inscription vendredi 3 janvier 2014 Statut Membre Dernière intervention 28 juillet 2018 178
Modifié par artemis0 le 17/01/2016 à 11:14
merci zipe. ça fonctionne.
pourrais-tu m'aider pour mon serveur web python ? stp
dans
/home/pi
, j'ai créé un fichier .py dans lequel j'ai mis :
#!/usr/bin/python3

import http.server

PORT = 8888
server_address = ("", PORT)

server = http.server.HTTPServer
handler = http.server.CGIHTTPRequestHandler
handler.cgi_directories = ["/"]
print("Serveur actif sur le port :", PORT)

httpd = server(server_address, handler)
httpd.serve_forever()


je l'enregistre
dans le terminal je mets :
pi@raspberrypi / $ sudo python /home/pi/svwebpython/hello.py


mais ça me met une erreur :
pi@raspberrypi / $ sudo python /home/pi/svwebpython/hello.py
Traceback (most recent call last):
File "/home/pi/svwebpython/hello.py", line 3, in <module>
import http.server
ImportError: No module named http.server
pi@raspberrypi / $


est-ce un problème de librairie ?
sachant que mon but, ici, est d'héberger un site : basique : html et css. et il faut qu'une variable python puisse être affichée sur le site. a l'origine, c'est la variable d'un capteur branché sur une arduino elle même branchée sur raspberry par i2c, port série, ou usb. et j'ai vu sur internet quelques exemples un peu semblables, donc je pense que ça devrait être possible. donc j'ai pensé que plutot d'installer des serveur web type nginx apache, pourquoi ne pas essayer un serveur web python, vu que j'utiliserai surement un programme python pour récupérer la variable sur la arduino. et il faut que la variable du capteur s'affiche sur le site.

sais-tu si c'est possible ? (peut-être que je fais tout ça pour rien...)
le lien du tuto : https://python.doctor/page-python-serveur-web-creer-rapidement

merci pour ton aide !!
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 408 > artemis0 Messages postés 903 Date d'inscription vendredi 3 janvier 2014 Statut Membre Dernière intervention 28 juillet 2018
17 janv. 2016 à 13:13
sudo python /home/pi/svwebpython/hello.py

Essaye plutôt avec
sudo python3 /home/pi/svwebpython/hello.py
0
artemis0 Messages postés 903 Date d'inscription vendredi 3 janvier 2014 Statut Membre Dernière intervention 28 juillet 2018 178
17 janv. 2016 à 14:20
merci zipe, ça fonctionne (partiellement ^^)

comme dans le tuto, j'ai aussi créé un fichier index.py
dans lequel j'ai mis :
#!/usr/bin/python3
# -*- coding: utf-8 -*

import cgi

form = cgi.FieldStorage()
print("Content-type: text/html; charset=utf-8\n")

print(form.getvalue("name"))

html = """<!DOCTYPE html>
<head>
<title>Mon programme</title>
</head>
<body>
<form action="/index.py" method="post">
<input type="text" name="name" value="Votre nom" />
<input type="submit" name="send" value="Envoyer information au serveur">
</form>
</body>
</html>
"""

print(html)


j'ai ensuite refait :
pi@raspberrypi ~ $ sudo python3 /home/pi/svwebpython/hello.py

mais ça me met :
pi@raspberrypi ~ $ sudo python3 /home/pi/svwebpython/hello.py
Serveur actif sur le port : 8888
127.0.0.1 - - [17/Jan/2016 13:11:07] code 404, message No such CGI script ('//index.py')
127.0.0.1 - - [17/Jan/2016 13:11:07] "GET /index.py HTTP/1.1" 404 -
127.0.0.1 - - [17/Jan/2016 13:11:27] code 404, message No such CGI script ('//index.py')
127.0.0.1 - - [17/Jan/2016 13:11:27] "GET /index.py HTTP/1.1" 404 -
127.0.0.1 - - [17/Jan/2016 13:11:28] code 404, message No such CGI script ('//index.py')
127.0.0.1 - - [17/Jan/2016 13:11:28] "GET /index.py HTTP/1.1" 404 -
127.0.0.1 - - [17/Jan/2016 13:11:49] code 404, message No such CGI script ('//index.py')
127.0.0.1 - - [17/Jan/2016 13:11:49] "GET /index.py HTTP/1.1" 404 -


dans mon navigateur sur rpi, j'ai tenté de me connecter à
http://localhost:8888/index.py

mais dans la page web ça me met :
Error response

Error code: 404

Message: No such CGI script ('//index.py').

Error code explanation: 404 - Nothing matches the given URI.


sachant que à chaque fois que dans mon navigateur j'actualise la page
http://localhost:8888/index.py
ça me met dans le terminal :
127.0.0.1 - - [17/Jan/2016 13:11:07] code 404, message No such CGI script ('//index.py')
127.0.0.1 - - [17/Jan/2016 13:11:07] "GET /index.py HTTP/1.1" 404 -

donc ces lignes sont affichées autant de fois que j'appuie sur actualiser dans mon navigateur

merci pour l'aide que tu m'apportes
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 408 > artemis0 Messages postés 903 Date d'inscription vendredi 3 janvier 2014 Statut Membre Dernière intervention 28 juillet 2018
17 janv. 2016 à 14:26
Parce que dans ton 1er script (hello.py) il faut renseigner le chemin vers ton répertoire où se trouve tes fichiers. Donc remplacer :
handler.cgi_directories = ["/"]

Par :
handler.cgi_directories = ["/home/pi/svwebpython"]
0
artemis0 Messages postés 903 Date d'inscription vendredi 3 janvier 2014 Statut Membre Dernière intervention 28 juillet 2018 178
17 janv. 2016 à 14:42
merci zipe.
par contre j'ai toujours des erreurs :
pi@raspberrypi / $ sudo python3 /home/pi/svwebpython/hello.py
Serveur actif sur le port : 8888
Traceback (most recent call last):
File "/home/pi/svwebpython/hello.py", line 13, in <module>
httpd = server(server_address, handler)
File "/usr/lib/python3.4/socketserver.py", line 429, in __init__
self.server_bind()
File "/usr/lib/python3.4/http/server.py", line 133, in server_bind
socketserver.TCPServer.server_bind(self)
File "/usr/lib/python3.4/socketserver.py", line 440, in server_bind
self.socket.bind(self.server_address)
OSError: [Errno 98] Address already in use
pi@raspberrypi / $



d'après ce que je comprends, il ya un problème dans hello.py ligne 13
ça veut dire que je dois mettre quelque chose à la place de server_adress ?
0