es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Sin índice.lighttpd.html en var/www/html

Me gustaría controlar el Raspberry Pi 3B+ de forma remota a través de flask y lighttpd.

Me gustaría controlar el coche RC a través de la web.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python-pip
sudo pip install flask
sudo apt-get install lighttpd
sudo apt autoremove

Después de los comandos mencionados anteriormente, se crea la carpeta /var/www/html. Además, se crea lighttpd.conf en /etc/lighttpd/. Sin embargo, no se crea index.lighttpd.html en /var/www/html. Por lo tanto, aunque inicio localhost en la web, no aparece lighttpd.

He intentado muchas cosas. Lo intenté varias veces después de inicializar la tarjeta SD. También recibí el archivo lighttpd directamente a través de ‘git clone’ sin usar pip, pero el resultado fue el mismo.

sudo apt install lighttpd lighttpd-doc
sudo apt-get install python3-flask

Además, todos los comandos mencionados anteriormente se utilizaron. El archivo lighttpd.conf parece no tener problemas.

server.document-root        = "/var/www/html"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
server.port                 = 80 

¿Qué debo hacer?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Si el archivo index.lighttpd.html no se crea en la carpeta /var/www/html, puedes crearlo manualmente ejecutando el siguiente comando:

    sudo nano /var/www/html/index.lighttpd.html

    Luego, en el editor de texto, escribe:

    “`


    Controlador de coches RC Raspberry Pi

    Controlador de coches RC Raspberry Pi






    Guarda y sale del editor presionando `Ctrl+X`, luego `Y` y finalmente `Enter`. Luego, necesitas crear una aplicación Flask que maneje el envío del formulario desde la página web. Crea un archivo Python en `/var/www/html`, por ejemplo: ```sudo nano /var/www/html/rc_car_controller.py``` Luego, en el editor de texto, escribe: ```from flask import Flask, request app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': direction = request.form['direction'] # Haz algo con la dirección, como enviarla al coche RC # Puedes usar GPIO o comunicación serial, dependiendo de tu configuración return '''<!DOCTYPE html> <html> <head> <title>Controlador de coches RC Raspberry Pi - Resultados</title> </head> <body> <h1>Escogiste: {0}</h1> Gracias por enviar el formulario. <a href="/">Volver al controlador</a> </body> </html>'''.format(direction) if __name__ == '__main__': app.run(debug=True, host='0.0.0.0')``` Guarda y sale del editor presionando `Ctrl+X`, luego `Y` y finalmente `Enter`. Ahora, necesitas modificar el archivo `lighttpd.conf` para indicarle a lighttpd que use Flask como el servidor de aplicaciones. Abre el archivo en un editor de texto: ```sudo nano /etc/lighttpd/lighttpd.conf``` Luego, agrega las siguientes líneas al final del archivo:

    Configuración del módulo FastCGI

    fastcgi.server = (
    “.py” => (
    “python-fcgi” => (
    “socket” => “/tmp/fastcgi.python.socket”,
    “bin-path” => “/usr/bin/python3 /var/www/html/rc_car_controller.py”
    )
    )
    )

    Mapeo de extensiones .py a FastCGI

    index-file.names += ( “index.lighttpd.html” )
    url.rewrite-once = (“^(/.*)/index.lighttpd.html$” => “$1/”)

    Servir archivos estáticos

    $HTTP[“url”] =~ “^/static($|/)” {
    server.dir-listing = “disable”
    $HTTP[“url”] =~ “.(png|gif|jpg|jpeg|css|js)$” {
    server.break-conditional-requests = “enable”
    accesslog.filename = “/var/log/lighttpd/static/access.log”
    }
    }
    “`

    Guarda y sale del editor presionando Ctrl+X, luego Y y finalmente Enter.

    Por último, reinicia lighttpd para aplicar los cambios:

    sudo service lighttpd restart

    Ahora deberías poder controlar tu coche RC a través de la página web accediendo a la dirección IP de tu Raspberry Pi en un navegador web, por ejemplo `http://192.168.1.100/`.

Comments are closed.