2013-10-20 14 views
5

Sto usando uwsgi per distribuire un'applicazione Django. voglio l'applicazione per accedere sotto:Come montare l'app Django con uwsgi?

SERVER_URL:PORT/APP_NAME 

mia configurazione uswgi sono:

[uwsgi] 
http=:PORT 
threads = 10 
die-on-term=true 
chdir = /dir/to/my/app/ 
home = /dir/to/my/app/ 
logto = /dir/to/log/LOG.log  
wsgi-file = /dir/to/my/app/main_package/wsgi.py 
mount = /APP_NAME=/dir/to/my/app/main_package/wsgi.py 

non riesco a ottenere il supporto al lavoro. Ricevo l'app sotto SERVER_URL:PORT e non sotto SERVER_URL:PORT/APP_NAME.

I registri ottengo sono:

*** Starting uWSGI 1.9.14 (64bit) on [Sun Oct 20 11:12:49 2013] *** 
compiled with version: 4.6.3 on 15 October 2013 13:08:46 
os: Linux-3.2.0-29-generiC#46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 
nodename: SERVER_URL 
machine: x86_64 
clock source: unix 
detected number of CPU cores: 1 
current working directory:/
detected binary path: /dir/to/my/app/bin/uwsgi 
uWSGI running as root, you can use --uid/--gid/--chroot options 
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
*** WARNING: you are running uWSGI without its master process manager *** 
your processes number limit is 15886 
your memory page size is 4096 bytes 
detected max file descriptor number: 1024 
building mime-types dictionary from file /etc/mime.types...530 entry found 
lock engine: pthread robust mutexes 
uWSGI http bound on :8016 fd 4 
spawned uWSGI http 1 (pid: 21029) 
uwsgi socket 0 bound to TCP address 127.0.0.1:60322 (port auto-assigned) fd 3 
Python version: 2.7.3 (default, Apr 10 2013, 06:31:07) [GCC 4.6.3] 
Set PythonHome to /dir/to/my/app/ 
Python main interpreter initialized at 0x22c6830 
python threads support enabled 
your server socket listen backlog is limited to 100 connections 
your mercy for graceful operations on workers is 60 seconds 
mapped 165584 bytes (161 KB) for 10 cores 
*** Operational MODE: threaded *** 
WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x22c6830 pid: 21028 (default app) 
mounting /dir/to/my/app/main_package/wsgi.py on /APP_NAME 
WSGI app 1 (mountpoint='/APP_NAME') ready in 0 seconds on interpreter 0x276e1b0 pid: 21028 
*** uWSGI is running in multiple interpreter mode *** 
spawned uWSGI worker 1 (and the only) (pid: 21028, cores: 10) 

Ho anche cercato di eliminare wsgi-file dalla configurazione uswgi, e lasciare solo la configurazione mount. Ho ottenuto:

mounting /dir/to/my/app/main_package/wsgi.py on /APP_NAME 
WSGI app 0 (mountpoint='/APP_NAME') ready in 0 seconds on interpreter 0x24ae780 pid: 11515 (default app) 

E ancora l'app non è stata montata correttamente.

Come si monta la mia app?

P.S. Voglio evitare di usare nginx.

+1

più tronchi plz .. – yakiang

+0

aggiunto in originale messaggio – Tamar

+0

nessuna idea, o ... spero [questo] (https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/) la pagina aiuta ... btw penso che 'nginx' valga la pena provare . – yakiang

risposta

5

nginx non può passare SCRIPT_NAME (e PATH_INFO) corretto a uWSGI. Dovete dire uWSGI per rendere traduzione da sola con --manage-script-name

A proposito non è necessario WSGI-file come mount carica già esso