Autore: Fabio Di Matteo
Ultima revisione: 13/06/2023 - 18:22
Le mie esperienze sulla configurazione di Lighttpd per l'esecuzione di script python con il framework Bottle.
La struttura della nostra cartella del progetto :
conf.ini main.py touch_for_reload.txt
Il file main.py contiene il nostro script principale, conf.ini la configurazione di uwsgi e touch_for_reload.txt invece un file vuoto che ci serve per riavviare il server uwsgi senza spegnerlo, basta touch touch_for_reload.txt
La nostra applicazione vera e propria che fa uso del framework Bottle.
#!/usr/bin/env python from bottle import Bottle, run app = Bottle() @app.route('/') def hello(): return "Hello World!" @app.route('/page') def page(): return "<h1>A blank page</h1>" @app.route('/bello') def page(): return "<h1>Bello!</h1>" @app.route('/cane/gatto') def page(): return "<h1>Cane e gatto</h1>"
Il file di configurazione di uwsgi.
[uwsgi] socket = 127.0.0.1:3031 chdir = /srv/python/ file = main.py processes = 4 threads = 2 plugins = python master = true module= main callable= app touch-reload=/srv/python/touch_for_reload.txt
Da notare che callable= punta ad app, la nostra applicazione di Bottle ( app = Bottle()) in main.py
Io ho fatto così. /etc/systemd/system/myApps.service
[Unit] Description=Python apps service (Fabio Di Matteo) [Service] Type=simple User=http ExecStart=/usr/bin/uwsgi /srv/python/conf.ini #ExecStop= [Install] WantedBy=multi-user.target
avviamo la unit con
systemctl enable --now myApps
/etc/lighttpd/lighttpd.conf
... #uwsgi server.modules += ( "mod_scgi" ) scgi.protocol = "uwsgi" scgi.server = ( "/apps" => (( "host" => "127.0.0.1", "port" => 3031, "check-local" => "disable" )), ) ...
riavviamo lighttpd
systemctl restart lighttpd
Il nostro wiki installa solamente cookie tecnici necessari al funzionamento della piattaforma "Dokuwiki". Niente analitics, statistiche, tracciamenti o altro.