nginxとuwsgiを使用してDjangoアプリケーションをデプロイしようとすると問題が発生します。ここに構成ファイルを配置することから始めます。
tutorial_nginx.conf
upstream django {
server unix:///home/mrgrj/site/blog/tutorial.sock;
}
server {
listen 8000;
server_name xx.xx.xxx.xx;
location /media {
alias /home/mrgrj/site/blog/polls/templates;
}
location /static/ {
root /home/mrgrj/site/blog/polls/templates/polls;
}
location / {
uwsgi_pass django;
include /home/mrgrj/site/blog/uwsgi_params;
}
}
tutorial_uwsgi.ini
[uwsgi]
chdir = /home/mrgrj/site/blog
module = wusgi.py
home = /home/mrgrj/site
master = true
processes = 10
socket = /home/mrgrj/site/blog/tutorial.sock
vacuum = true
Official Django Documentationのこのチュートリアルに従いましたが、残念ながら、いくつかの問題が発生したため、完了できませんでした。
Web ブラウザから IP アドレスにアクセスすると正しいページが表示されるため、nginx サーバーは正しく設定されています。django アプリケーションは、実行中に動作していpython manage.py runserver 0.0.0.0:8000
ます。そのチュートリアルに関して私が抱えている問題:
uwsgi --http :8000 --module mysite.wsgi
. そのようなファイルはありませんが、 wsgy.py と呼ばれる同様のものがあります。import os from django.core.wsgi import get_wsgi_application os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog.settings") application = get_wsgi_application()
そのコマンドを実行しようとすると、ブラウザに表示されます(経由でアクセスしていますwsgi.py
)。トレースバック: Internal server error
ip:8000
* [Sun Apr 12 16:42:15 2015] に uWSGI 2.0.10 (64bit) を開始バージョン: 4.8.2 on 10 April 2015 08:25:41 os: Linux-3.13.0-43-generic #72-Ubuntu SMP Mon Dec 8 19:35:06 UTC 2014 nodename: alex-test machine: x86_64クロック ソース: unix 検出された CPU コア数: 1 現在の作業ディレクトリ: /home/mrgrj/site/blog/blog 検出されたバイナリ パス: /usr/local/bin/uwsgi !!! 内部ルーティングはサポートされていません。pcre サポートを使用して再構築してください !!! 警告: マスター プロセス マネージャーなしで uWSGI を実行していますプロセス数の制限は 3750 です メモリ ページ サイズは 4096 バイトです 検出された最大ファイル記述子数: 1024 ロック エンジン: pthread 堅牢なミューテックス サンダー ロック: 無効 (--thunder-lock で有効にできます) uWSGI http は :8000 fd 4 にバインドされています生成された uWSGI http 1 (pid: 2169) TCP アドレス 127.0.0.1:41225 にバインドされた uwsgi ソケット 0 (ポートは自動割り当て) fd 3 Python バージョン: 2.7.6 (デフォルト、2014 年 3 月 22 日 23:03:41) [GCC 4.8.2] Python スレッドのサポートが無効になっています。--enable-threads で有効にできます0x122d0c0 で初期化された Python メイン インタープリター サーバー ソケット リッスン バックログは 100 接続に制限されます ワーカーでの適切な操作に対する慈悲は 60 秒でマッピングされます 1 コアに対して 72760 バイト (71 KB) 運用モード: 単一プロセストレースバック (最新の呼び出しが最後): ファイル "./wsgi.py"、16 行目、アプリケーション内 = get_wsgi_application() ファイル "/usr/local/lib/python2.7/dist-packages/django/core/wsgi.py "、14 行目、 get_wsgi_application django.setup() ファイル内"/usr/local/lib/python2.7/dist-packages/django/init .py"、17 行目、setup configure_logging(settings.LOGGING_CONFIG, settings.LOGGING) ) ファイル "/usr/local/lib/python2.7/dist-packages/django/conf/ init .py"、48 行目、getattr self._setup(name) ファイル "/usr/local/lib/python2.7 /dist-packages/django/conf/init.py"、44 行目、 _setup self._wrapped = Settings(settings_module) ファイル"/usr/local/lib/python2 .7/dist-packages/django/conf/ init.py"、92 行目、init mod = importlib.import_module(self.SETTINGS_MODULE) ファイル "/usr/lib/python2.7/importlib/ init .py"、37 行目、import_module 内 import (name) ImportError: No module名前付きの blog.settings がアプリ 0 を読み込めません (mountpoint='') (callable が見つからないか、インポート エラー) アプリがロードされていません。フルダイナミックモードに入る uWSGI は複数のインタープリター モードで実行されています *生成された uWSGI ワーカー 1 (および唯一) (pid: 2168、コア: 1)
私が抱えている別の問題は、実行しようとしているときですuwsgi --socket :8001 --wsgi-file test.py
。**no data received message**
「(サーバーからデータが送信されなかったため、Web ページを読み込めません。)」というメッセージが表示されます 。
誰か助けてくれませんか?