I have a couple of django apps on my servers, running perfectly on their own socket file, but i plan to introduce some more django apps, so i prefer to run uwsgi in vhost mode, but it seems to have some problem with the import/paths
Here is the nginx virtualhost configuracion
location / {
include uwsgi_params;
uwsgi_param UWSGI_PYHOME /home/httpd/django.udm.local/public_html;
uwsgi_param UWSGI_PYHOME /home/httpd/django.udm.local/public_html;
uwsgi_param UWSGI_PYTHONPATH /home/httpd/django.udm.local/public_html;
uwsgi_param UWSGI_CHDIR /home/httpd/django.udm.local/public_html
uwsgi_param UWSGI_ENV DJANGO_SETTINGS_MODULE=settings;
uwsgi_param UWSGI_MODULE mysite;
uwsgi_pass 127.0.0.1:1088;
and in the "mysite.py" file i have this:
import os, sys
sys.path.append(os.path.dirname(__file__))
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
i'm running uwsgi with this command:
uwsgi -s 127.0.0.1:1088 -M --no-site --vhost
and HERE is the error
*** Operational MODE: single process ***
*** no app loaded. going in full dynamic mode ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 1838)
spawned uWSGI worker 1 (pid: 1839, cores: 1)
Traceback (most recent call last):
File "./mysite.py", line 7, in <module>
import django.core.handlers.wsgi
ImportError: No module named django.core.handlers.wsgi
unable to load app SCRIPT_NAME=django.udm.local|
as you can imagine, django is correctly installed on the system
# python
Python 2.6.6 (r266:84292, Dec 27 2010, 00:02:40)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django.core.handlers.wsgi
>>>
thanks!
UPDATE 18/8 finally i've found the solution.. i've changed the mysite.py file and added the paths to django and the python libs
import os, sys
sys.path.append(os.path.dirname(__file__))
sys.path.append('/usr/lib/pymodules/python2.6')
sys.path.append('/usr/lib/python2.6/dist-packages')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()