0 votes
1 view
in AWS by (12.9k points)

I am trying to publish my site on an Amazon's EC2 Instance, and I keep getting a 500 error. I really dunno why.

//Log Files

    [Sun Feb 17 23:12:48.066802 2013] mod_wsgi (pid=2102): Target WSGI script '/srv/www/app/poka/apache/wsgi.py' cannot be loaded as Python module.

    [Sun Feb 17 23:12:48.066840 2013] mod_wsgi (pid=2102): Exception occurred processing WSGI script '/srv/www/app/poka/apache/wsgi.py'.

    [Sun Feb 17 23:12:48.066864 2013] Traceback (most recent call last):

    [Sun Feb 17 23:12:48.066889 2013] File "/srv/www/mysite/poka/apache/wsgi.py", line 26, in <module>

    [Sun Feb 17 23:12:48.066920 2013] from django.core.wsgi import get_wsgi_application

    [Sun Feb 17 23:12:48.066945 2013] ImportError: No module named django.core.wsgi

//Apache Config Files

    WSGIScriptAlias / /srv/www/app/mysite/apache/wsgi.py

    WSGIDaemonProcess mysite python-path=/srv/www/app/mysite:/home/ec2-user/.virtualenvs/mysite-main/lib/python2.7/site-packages

    WSGIProcessGroup mysite

    <Directory /srv/www/app/mysite/apache/>

    <Files wsgi.py>

    Order deny,allow

    Allow from all

    </Files>

    </Directory>

    <Directory /srv/www/app/mysite/apache/>

    Order deny,allow

    Allow from all

    </Directory>

    <Directory /home/ec2-user/app/mysite/static>

    Order deny,allow

    Allow from all

    </Directory>

    <Directory /home/ec2-user/app/mysite/media>

    Order deny,allow

    Allow from all

    </Directory>

//wsgi.py

    import os

    import sys

    import site

    site.addsitedir('/home/ec2-user/.virtualenvs/mysite-main/lib/python2.7/site-packages')

    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

    from django.core.wsgi import get_wsgi_application

    application = get_wsgi_application()

    path = '/srv/www/app/mysite'

    if path not in sys.path:

        sys.path.append(path)

1 Answer

0 votes
by (18.6k points)

There might be a few packages of the site-packages missing from your virtualenv , when wsgi.py is executed.

This issue can be fixed by modifying the sys.path in your path/project/project/wsgi.py file.

Just append the project dir along with your virtualenv site-packages to the sys.path List.

If you want to learn more about this AWS service then you should read AWS EC2.

Welcome to Intellipaat Community. Get your technical queries answered by top developers !


Categories

...