Я пытаюсь запустить службу REST ROCK на CentOS Apache2 с использованием WSGI. Для службы REST требуется очень маленькое хранилище. Поэтому я решил использовать SQLite с пакетом python sqlite3
. Все приложение отлично работало на моей локальной системе и на сервере CentOS при работе с app.run()
. Но когда я использовал WSGI для размещения приложения на Apache, я получаюpython sqlite3 OperationalError: попытка написать базу данных только для чтения
OperationalError: attempt to write a readonly database
Я проверил права доступа к файлу. Пользователь и группа файлов установлены в apache (под которым работает сервер) с использованием chown
и chgrp
. Кроме того, файл имеет разрешение rwx
. Тем не менее, я получаю ошибку базы данных только для чтения. Ниже то, что я получаю, запустив ls -al
на файл БД:
-rwxrwxrwx. 1 apache apache 8192 Nov 19 01:39 dbfile.db
My Apache Configuration:
<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, который импортирует его, также имеет то же самое. –
Попробуйте добавить '-R' как' chown -R apache: apache/path/to/your/directory/' – ettanany