Reputation: 6544
I have read this. So, I install mod_wsgi, virtualenv(virtualenv ENV
). (Django 1.4, ubuntu server)
/etc/apache2/sites-available/mysite:
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
WSGIDaemonProcess example.com python-path=/home/user/cars/cars:/home/user/cars/ENV/lib/python2.7/site-packege
WSGIScriptAlias / /home/user/cars/cars/wsgi.py
<Directory /home/user/cars/cars>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
</VirtualHost>
WSGIPythonPath /home/user/cars/ENV/lib/python2.7/site-packeges
I have Internal Server Error
in /var/log/apache2/error.log:
mod_wsgi (pid=3012): Exception occurred processing WSGI script '/home/user/cars/cars/wsgi.py'.
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 219, in __call__
self.load_middleware()
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 39, in load_middleware
for middleware_path in settings.MIDDLEWARE_CLASSES:
File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 184, in inner
self._setup()
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 42, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 95, in __init__
raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'cars.settings' (Is it on sys.path?): No module named cars.settings
Please, help me, I have never configure Django with mod_wsgi. Its my first project
Update:
Alias /favicon.ico /home/user/cars/files/static_content/favicon.ico
AliasMatch ^/([^/]*\.css) /home/user/cars/files/static_content/css/$1
Alias /static/ /home/user/cars/files/static_content/
<Directory /home/user/cars/files/static_content>
Order deny,allow
Allow from all
</Directory>
Upvotes: 0
Views: 414
Reputation: 58523
You are missing the WSGIProcessGroup directive and so the WSGIDaemonProcess and its python-path option are not being used. The path set in WSGIPythonPath (which is for embedded mode only) is being used and in it you have not set the location of your project. Even for python-path to WSGIDaemonProcess you have the path wrong anyway.
Try with:
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
WSGIDaemonProcess example.com python-path=/home/user/cars:/home/user/cars/ENV/lib/python2.7/site-packages
WSGIProcessGroup example.com
WSGIScriptAlias / /home/user/cars/cars/wsgi.py
<Directory /home/user/cars/cars>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
</VirtualHost>
noting the change to python-path and addition of WSGIProcessGroup.
Upvotes: 1