8

Ubuntuサーバーを使用mod_wsgiしてFlaskAppを実行しています。apache2フラスコアプリをlocalhost正常に実行してから、ubuntuサーバーにデプロイしました。

しかし、データベースを更新しようとすると、エラーが発生します:

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)

今、私はデータベースファイルのアクセス許可を探してみました:

-rwxr-xr-x 1 www-data www-data 10240 Jul 14 15:35 /var/www/mywebsite/appfolder/appdata.db`

パーミッションを 777、755、644 などに変更しようとすると、別のエラーが表示さunable to open database filelocalhostます。

また、ディレクトリの許可/var /var/www /var/www/mywebsite /var/www/mywebsite/appfolderなどを確認しましたが、すべてwww-data:www-data所有者のユーザー名とグループがあります。

私はグーグルを試しましたが、ファイル/ディレクトリのアクセス許可を変更するという提案以外に適切な解決策はありませんでした。

データベースファイルの読み取り/アクセスができないのはなぜですか?

提案してください。

4

4 に答える 4

-1

IIS 7.5 / Windows 2008 Server で Django Rest Framework をホストしているときに、この問題に直面しました。ローカル ホスト で正常に動作していました。「ファイル名」とともに、ファイルのアップロード機能を処理する新しい機能を追加しました。ファイルは適切にアップロードされましたが、データベースは「ファイル名」文字列からのテキストを受け入れていないようです。

解決策 : 問題のデータベースに移動します。(特定のデータベースを割り当てていない場合は、ベース フォルダー内のファイルdb.sqlite3を検討してください)

db.sqlite3を右クリック--> プロパティ --> セキュリティ --> 編集 --> 追加

テキスト ボックスに、Everyone --> Checkname --> okと入力します。

IIS でサーバーを更新し、アプリケーションを実行してみます。

于 2019-06-13T09:23:17.337 に答える