Serveur web python raspberry

artemis0 Messages postés 1031 Statut Membre -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    sudo apt-get remove nginx nginx-common 

    sudo apt-get purge nginx nginx-common

    1
    1. artemis0 Messages postés 1031 Statut Membre 197
       
      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
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501 > artemis0 Messages postés 1031 Statut Membre
       
      sudo python /home/pi/svwebpython/hello.py

      Essaye plutôt avec
      sudo python3 /home/pi/svwebpython/hello.py
      0
    3. artemis0 Messages postés 1031 Statut Membre 197
       
      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
    4. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501 > artemis0 Messages postés 1031 Statut Membre
       
      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
    5. artemis0 Messages postés 1031 Statut Membre 197
       
      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