Python, Flask e cPanel

pythonflaskcpanel

Python è sicuramente il mio linguaggio di programmazione preferito, ordinato, potente, versatile, riesce sempre a soddisfare facilmente le mie esigenze di coding. Un modulo molto utile per l'implementazione di microservizi e webapp è Flask.

Flask is a lightweight WSGI web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. It began as a simple wrapper around Werkzeug and Jinja and has become one of the most popular Python web application frameworks.

Flask offers suggestions, but doesn't enforce any dependencies or project layout. It is up to the developer to choose the tools and libraries they want to use. There are many extensions provided by the community that make adding new functionality easy."

Questa accoppiata si presta benissimo alla creazione di applicazioni basate su Docker e microservizi ma a volte questo è esagerato per progetti più semplici, l'utilizzo di un hosting tradizionale permette invece di mantenere l'infrastruttura semplice ed i costi contenuti.

La soluzione per la mia ultima app che ho trovato per risolvere tutto questo è l'hosting su piattaforma cPanel.

Il punto di partenza è avere ovviamente la propria app funzionante, la versione di cPanel da me utilizzata è la 78.0.39, consiglio un hosting con accesso in SSH, rende le cose estremamente più semplici, soprattutto in caso di debug, consiglio inoltre di caricare i propri file DOPO aver impostato l'ambiente di Python.

Da cPanel selezionate Setup Python App, successivamente Create Application.

I parametri richiesti a questo punto sono:

Python Version: Dal menu a tendina potete scegliere la versione desiderata. Application Root: Il percorso di installazione dell'applicazione, se viene selezionato un percorso non esistente verrà creato automaticamente il necessario. Consiglio di scegliere una directory fuori da public_html. Application URL: Il percorso al quale l'applicazione risponderà. Application Startup File: Il nome del file che permette l'esecuzione della vostra app, su Flask &egrace; il file che di solito contiene o finisce con app.run() (I nomi più comuni sono app.py, main.py, index.py, o init.py). Application Entry Point: Nel file di Startup cercate l'importazione iniziale, di solito è tipo from app import app o from app import application o simile, qui va inserito il nome del modulo come viene importato (l'ultima parola della riga), tipicamente app o application come nell'esempio appena citato.

A questo punto si può confermare la creazione dell'applicazione dal tasto in alto a destra. WSGI si preoccuperà di reindirizzare le chiamate per la URL definita verso Flask. Vi consiglio di provare a visitare il sito web, dovreste vedere una pagina web confermante il funzionamento dell'applicazione.

Adesso potete caricare nella cartella creata automaticamente i vostri file, rispettando ovviamente le dichiarazioni di cui sopra. Tornando nella configurazione dell'applicazione in cPanel avrete la possibilità di:

Ogni volta che viene modificata l'applicazione sarà necessario riavviarla.