1
我想在CentOS Apache2上使用WSGI運行一個Flask REST服務。 REST服務需要非常小的存儲空間。所以我決定使用SQLite和sqlite3
python包。當使用app.run()
運行時,整個應用程序在我的本地系統和CentOS服務器上運行得非常好。但是當我使用WSGI在Apache上託管應用程序時,我得到了python sqlite3 OperationalError:試圖寫一個只讀數據庫
OperationalError: attempt to write a readonly database
我已檢查文件的權限。使用chown
和chgrp
將文件的用戶和組設置爲apache(服務器正在運行)。此外,該文件具有rwx
權限。仍然我收到只讀數據庫錯誤。以下是我所得到通過對數據庫文件運行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>
是否更改了目錄的奧爾到'阿帕奇:apache'? – ettanany
我的燒瓶應用程序的python包具有權限'drw-rw-r - (帶有apache:apache),並且導入它的wsgi腳本也具有相同的權限。 –
嘗試像'chown -R apache:apache/path/to/your/directory /'一樣添加'-R' – ettanany