Setting up django with uwsgi and nginx
11,291
Solution 1
ImportError: Import by filename is not supported.
The --module
directive expect a module, not a file. You should use --wsgi-file
instead.
Solution 2
You need to call the django module with: --module mysite.wsgi:application
And don't forget to add: --env DJANGO_SETTINGS_MODULE=mysite.settings
For instance, a working command line is (provided your current directory is your project home):
uwsgi --socket mysite/zohosel.sock --module mysite.wsgi:application --env DJANGO_SETTINGS_MODULE=mysite.settings --home=/path/to/your/venv --chmod-socket=666
Some extra information and arguments can be found on the django docs website.
And by the way, this tutorial on readthedocs helped me a lot.
Author by
Shwetanka
I'm a simple programmer, who loves to keep things as simple as possible.
Updated on July 18, 2022Comments
-
Shwetanka almost 2 years
I'm trying to serve django 1.5 app with uwsgi and nginx. Following is my ini file
[uwsgi] # variables projectname = mysite projectdomain = mysite.in base = /home/shwetanka/projects/me/mysite # config plugins = python master = true protocol = uwsgi env = DJANGO_SETTINGS_MODULE=%(base)/%(projectname).settings #pythonpath = %(base)/src/%(projectname) module = %(base)/mysite/wsgi.py socket = 127.0.0.1:8889 logto = %(base)/logs/uwsgi.log #below line runs it as a daemon in background daemonize = /var/log/uwsgi/mysite.log
I'm getting this error in logs -
Sat Aug 31 14:05:35 2013 - *** Starting uWSGI 1.2.3-debian (64bit) on [Sat Aug 31 14:05:35 2013] *** Sat Aug 31 14:05:35 2013 - compiled with version: 4.7.2 on 07 November 2012 03:49:52 Sat Aug 31 14:05:35 2013 - detected number of CPU cores: 4 Sat Aug 31 14:05:35 2013 - current working directory: / Sat Aug 31 14:05:35 2013 - detected binary path: /usr/bin/uwsgi-core Sat Aug 31 14:05:35 2013 - your memory page size is 4096 bytes Sat Aug 31 14:05:35 2013 - detected max file descriptor number: 1024 Sat Aug 31 14:05:35 2013 - lock engine: pthread robust mutexes Sat Aug 31 14:05:35 2013 - uwsgi socket 0 inherited UNIX address /run/uwsgi/app/mysite/socket fd 3 Sat Aug 31 14:05:35 2013 - uwsgi socket 1 inherited INET address 127.0.0.1:8889 fd 5 Sat Aug 31 14:05:35 2013 - Python version: 2.7.4 (default, Apr 19 2013, 18:30:41) [GCC 4.7.3] Sat Aug 31 14:05:35 2013 - *** Python threads support is disabled. You can enable it with --enable-threads *** Sat Aug 31 14:05:35 2013 - Python main interpreter initialized at 0xd36dc0 Sat Aug 31 14:05:35 2013 - your server socket listen backlog is limited to 100 connections Sat Aug 31 14:05:35 2013 - *** Operational MODE: preforking *** ImportError: Import by filename is not supported. Sat Aug 31 14:05:35 2013 - unable to load app 0 (mountpoint='') (callable not found or import error) Sat Aug 31 14:05:35 2013 - *** no app loaded. going in full dynamic mode *** Sat Aug 31 14:05:35 2013 - *** uWSGI is running in multiple interpreter mode *** Sat Aug 31 14:05:35 2013 - gracefully (RE)spawned uWSGI master process (pid: 6093) Sat Aug 31 14:05:35 2013 - spawned uWSGI worker 1 (pid: 6245, cores: 1) Sat Aug 31 14:05:35 2013 - spawned uWSGI worker 2 (pid: 6246, cores: 1)
How do I get it working?