WSGIを使用してCentOS Apache2でFlask RESTサービスを実行しようとしています。 RESTサービスには、非常に小さなストレージが必要です。だから私はsqlite3
pythonパッケージでSQLiteを使用することにしました。 app.run()
を使用して実行した場合、アプリケーション全体はローカルシステムとCentOSサーバーで正常に動作しました。しかし、WSGIを使用してApache上でアプリケーションをホストすると、私は取得していますpython sqlite3 OperationalError:読み取り専用データベースを作成しようとしました
OperationalError: attempt to write a readonly database
私はファイルの権限をチェックしました。ファイルのユーザーとグループは、chown
とchgrp
を使用してapache(サーバーが実行されているサーバー)に設定されています。また、ファイルにはrwx
の許可があります。それでも私は読み取り専用のデータベースエラーを取得しています。以下の私は、DBファイルにls -al
を実行することによって得るものです:
-rwxrwxrwx. 1 apache apache 8192 Nov 19 01:39 dbfile.db
私のApacheの設定:データベースファイルのパーミッションを変更することに加え
<VirtualHost *>
ServerName wlc.host.com
WSGIDaemonProcess wlcd
WSGIScriptAlias//var/www/html/wlcd.wsgi
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
<Directory /var/www/html/>
WSGIProcessGroup wlcd
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
Require all granted
</Directory>
は、ディレクトリのowerに 'のapacheを変更しましたか? – ettanany
私のフラスコのアプリケーションのpythonパッケージには 'drw-rw-r - '(apache:apache)のアクセス権があり、これをインポートするwsgiスクリプトも同じです。 –
'chown -R apache:apache/path/to/your/directory/'のように' -R'を付けてみてください。 – ettanany