2017-02-12 5 views
1

私のユーザーDjango 1.10はuWSGIとnginxをubuntu 16.04にインストールし、私のプロジェクトはデフォルトの構造を持っていませんが、かなり一般的です(この2つのscoopceに感謝します:)。 私はsplit devとproductionの設定とconfigフォルダの代わりに 'name'プロジェクトフォルダを使います。それは次のようになります:セキュリティの暗号化とansibleからDjango + uWSGI + nginxスタックの "pythonアプリケーションがスタートアップログをチェックしていません"というエラーを解決する方法

|-- config 
| |-- __init__.py 
| |-- settings 
| | |-- __init__.py 
| | |-- base.py 
| | `-- dev.py 
| |-- urls.py 
| |-- wsgi_dev.py 
| `-- wsgi_production.py 
|-- manage.py 
`-- requirements.txt 

マイproduction.py genarateおよび設定/設定で探します。

この設定では、「pythonアプリケーションが見つかりませんでした。起動ログを確認します」というメッセージが表示されます。 Uwsgiは私のアプリケーションを見ません。数週間後

({{}}それはansibleためJinja2の構文です)

/etc/uwsgi/sites/{{ project_name }}

[uwsgi] 
chdir = {{ django_root }} 
home = /home/{{ project_user }}/venvs/{{ project_name }} 
module = config.wsgi_production:application 

master = true 
processes = 5 

socket = /run/uwsgi/{{ project_name }}.sock 
chown-socket = {{ project_user }}:www-data 
chmod-socket = 660 
vacuum = true 

答えて

2

私は私のwsgi.pyに問題を見つけることができます。一般的な解決法はDJANGO_SETTINGS_MODULEのためにos.environ['ENV']を使用しますが、ユーザーと権限がそれほど重要ではありません。

あなたwsgi.pyファイルに次のようなものを使用する場合:

os.environ["DJANGO_SETTINGS_MODULE"] = "config.settings." + os.environ["ENV"]

そしてno python application foundに問題を持っている - あなたのWSGIファイルを分割します。私はそれをキャッチすることができますos.environ["ENV"]空の文字列を返します。すべてのユーザー、ソースなどを使用して追加します。しかし、emperiorモードのuwsgiでは表示されません。 os.environ["DJANGO_SETTINGS_MODULE"] = "config.settings.production"のような一言を書くことができるwsgi_dev.pywsgi_production.pyを使用してください。それほどエレガントではありませんが、この問題をうまく解決してください。

関連する問題