[編集: バグは権限にありませんでした。settings.py (SQLITE3 を使用) でデータベースへのフルパスを提供していなかったため、uwsgi はそれを見つけることができませんでした。@spicavigo の指導に感謝します!]
nginx と uwsgi によって提供される、Linux (Ubuntu) サーバーで実行されている単純な Django アプリがあります。アプリケーションは、ユーザーからアップロードされたドキュメントを取得し、subprocess.call を介してローカルの実行可能ファイルを実行して、ドキュメントを PDF からテキストに変換します。
subprocess.call(['pdftotext', pdffilepath], shell = True)
このサブプロセス呼び出しが機能せず、アップロードされたドキュメントが保存されているフォルダー ('media/') のアクセス許可に関連するエラーが発生します。
アプリへのパスの所有者とメディア フォルダーを www-data として設定しました。これは、nginx と uwsgi のユーザーでもあります。また、これらすべてをubuntuに設定しました。まだ運がありません。アプリは Django サーバー ( python manage.py runserver
) の下で正常に動作します。
何をする必要があるか、または設定でどこが間違っていたかについての考えはありますか?