Права пользователя, необходимые для запуска подпроцесса в Python под Nginx и uwsgi - PullRequest
2 голосов
/ 21 февраля 2012

[РЕДАКТИРОВАТЬ: ошибка не была в разрешениях. Я не указал полный путь к БД в settings.py (используя SQLITE3), поэтому uwsgi не смог его найти. Спасибо @spicavigo за руководство!]

У меня есть простое приложение Django, работающее на сервере Linux (Ubuntu), обслуживаемое nginx и uwsgi. Приложение берет загруженный документ от пользователя и запускает локальный исполняемый файл через subprocess.call, чтобы преобразовать документ из pdf в текст.

subprocess.call(['pdftotext', pdffilepath], shell = True)

Этот вызов подпроцесса не работает, и я получаю ошибку, связанную с разрешениями для папки, в которой хранится загруженный документ ('media /').

Я установил владельца пути к приложению и медиа-папки как www-data, который также является пользователем для nginx и uwsgi. Я также установил все это в Ubuntu. Все еще не повезло. Приложение отлично работает на сервере Django (python manage.py runserver).

Мысли о том, что мне нужно сделать или где я ошибся в своих настройках?

...