【发布时间】:2017-04-03 20:21:11
【问题描述】:
我正在尝试使用 WSGI 在 CentOS Apache2 上运行 Flask REST 服务。 REST 服务需要非常小的存储空间。所以我决定将 SQLite 与sqlite3 python 包一起使用。当使用app.run() 运行时,整个应用程序在我的本地系统和 CentOS 服务器上运行良好。但是当我使用 WSGI 在 Apache 上托管应用程序时,我得到了
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>
【问题讨论】:
标签: python apache sqlite mod-wsgi