Nginx + uWSGI を使用して Django アプリケーションを実行しようとしていますが、成功しません。何時間ものグーグルとデバッグの後、動作する必要がある最も単純な uwsgi 構成を作成しました。
$ uwsgi --http 127.0.0.1:8000 --wsgi-file test.py
test.py の場所
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return "Hello World"
問題は、そうではないことです。同じマシンでの wget 呼び出しがハングします。
$ wget http://127.0.0.1:8000
--2013-04-28 12:43:36-- http://127.0.0.1:8000/
Connecting to 127.0.0.1:8000... connected.
HTTP request sent, awaiting response...
uWSGI 出力はサイレントです (初期情報を除く):
*** Starting uWSGI 1.9.8 (32bit) on [Sun Apr 28 12:43:56 2013] ***
compiled with version: 4.4.5 on 28 April 2013 06:22:28
os: Linux-2.6.27-ovz-4 #1 SMP Mon Apr 27 00:26:17 MSD 2009
...
uWSGI を強制終了すると wget が中止されるため、接続は実際に確立されます。
おそらく、uWSGI は発生したエラーについて十分に詳しく説明していないか、何かを見逃しているに違いありません。さらに調べる場所のヒントをいただければ幸いです。
アップデート:
システムの詳細: Debian 6.0.7、Python 2.6.6。
開始時の完全な uWSGI ログ:
$ uwsgi --http 127.0.0.1:8000 --wsgi-file test.py
*** Starting uWSGI 1.9.8 (32bit) on [Mon Apr 29 04:50:03 2013] ***
compiled with version: 4.4.5 on 28 April 2013 06:22:28
os: Linux-2.6.27-ovz-4 #1 SMP Mon Apr 27 00:26:17 MSD 2009
nodename: max.local
machine: i686
clock source: unix
detected number of CPU cores: 4
current working directory: /home/user/dir
detected binary path: /home/user/dir/env/ENV/bin/uwsgi
*** WARNING: you are running uWSGI without its master process manager ***
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
uWSGI http bound on 127.0.0.1:8000 fd 4
spawned uWSGI http 1 (pid: 19523)
uwsgi socket 0 bound to TCP address 127.0.0.1:57919 (port auto-assigned) fd 3
Python version: 2.6.6 (r266:84292, Dec 27 2010, 00:18:12) [GCC 4.4.5]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x80f6240
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 63944 bytes (62 KB) for 1 cores
*** Operational MODE: single process ***
WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x80f6240 pid: 19522 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI worker 1 (and the only) (pid: 19522, cores: 1)
そして、それ以外は印刷されません。