Sto utilizzando FlaskApp utilizzando mod_wsgi
e apache2
sul server Ubuntu. Ho provato a eseguire l'app per flask su localhost
e poi a distribuirla su ubuntu server.OperationalError: tentativo di scrivere un database di sola lettura sul server ubuntu
Ma quando provo ad aggiornare il database, il suo dando errore: Failed to update model. (OperationalError) attempt to write a readonly database u'UPDATE mysongs SET songurl=? WHERE songid.id = ?' (u'www.site.com/I_wanna_dance', 1)
Ora ho provato look per l'autorizzazione file di database che è: -rwxr-xr-x 1 www-data www-data 10240 Jul 14 15:35 /var/www/mywebsite/appfolder/appdata.db
quando provo cambiare il permesso di 777, 755, 644 etc. mostra un altro errore: unable to open database file
Sebbene il file di database funzioni correttamente con un'autorizzazione 644 su localhost
ma non su server ubuntu.
Inoltre ho controllato il permesso di directory e per /var
/var/www
/var/www/mywebsite
/var/www/mywebsite/appfolder
ecc, tutti hanno www-data:www-data
come il suo nome utente e gruppo proprietario.
Ho provato su google e ma nessuna soluzione adeguata oltre a suggerire di modificare i permessi file/dir, che ho provato io stesso.
Perché non è possibile leggere/accedere al file di database?
Si prega di suggerire.
Hai utilizzato uid (http://uwsgi-docs.readthedocs.org/en/latest/Options.html#uid) e gid (http://uwsgi-docs.readthedocs.org/en/latest/Options .html # gid) per eseguire uwsgi. Quale utente inizia uwsgi? – tbicr
Stai utilizzando un percorso assoluto per il file di database? Sotto mod_wsgi la directory di lavoro corrente non sarà dove pensi che dovrebbe essere e i percorsi relativi falliranno. Per diritti se questo è ciò che stai facendo, allora non troverà nemmeno un file di database, ma vale la pena controllare. Confermare inoltre che i processi delle applicazioni Web sono in effetti in esecuzione come www-data. –