0 votes
1 view
in AWS by (8.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.5k 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.

Related questions

0 votes
1 answer
0 votes
1 answer
0 votes
1 answer
Welcome to Intellipaat Community. Get your technical queries answered by top developers !


Categories

...