Reputation: 2034
Apache logs in mode debug:
[Tue Dec 21 11:36:33 2010] [info] [client 1.53.149.114] mod_wsgi (pid=24831, process='mysite', application='mysite.com|'): Loading WSGI script '/home/anhtran/webapps/mysite.com/django.wsgi'.
[Tue Dec 21 11:36:33 2010] [error] [client 1.53.149.114] Premature end of script headers: django.wsgi
[Tue Dec 21 11:36:33 2010] [notice] child pid 24831 exit signal Segmentation fault (11)
[Tue Dec 21 11:36:33 2010] [info] mod_wsgi (pid=24980): Attach interpreter ''.
My conf file:
WSGISocketPrefix /tmp/wsgi
<VirtualHost *:80>
ServerName mysite.com
ServerAlias www.mysite.com
ServerAdmin [email protected]
DocumentRoot /home/anhtran/webapps/mysite.com/public_html
WSGIDaemonProcess mysite processes=5 threads=25
WSGIProcessGroup mysite
WSGIScriptAlias / /home/anhtran/webapps/mysite.com/django.wsgi
LogLevel debug
<Directory /home/anhtran/webapps/mysite.com/mysite>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Django works fine in a basic project without a data connection such as MySQLdb or sqlite3. I'm using CentOS 5 64 bit, apache 2.x, mod_wsgi 3.2. I think this is not a problem of Django, but I have no idea for it. Everybody can fix it? Help me. Thanks! :)
django.wsgi
#!/usr/local/bin/python
import os, site, sys
# add the virtual environment path
site.addsitedir('/home/anhtran/webapps/mysite.com/env/lib/python2.6/site-packages')
site.addsitedir('/home/anhtran/webapps/mysite.com/mysite')
site.addsitedir('/home/anhtran/webapps/mysite.com')
# fix markdown.py (and potentially others) using stdout
sys.stdout = sys.stderr
#Calculate the path based on the location of the WSGI script.
project = os.path.dirname(__file__)
workspace = os.path.dirname(project)
sys.path.append(workspace)
os.environ['PYTHON_EGG_CACHE'] = '/home/anhtran/webapps/mysite.com/.python-eggs'
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()
I've read some questions in this link: http://code.google.com/p/modwsgi/wiki/FrequentlyAskedQuestions But I still don't understand the solutions.
Upvotes: 12
Views: 15404
Reputation: 5290
my same issue was resolved like this: remove cgi configure that was added by me someday:
AddHandler cgi-script .py
Upvotes: 0
Reputation: 41
I had a similar problem on django,apache2,mod_wsgi,python2.6 installed on a virtual machine. I solved the problem incerasing the ram assigned to the virtual machine.
I hope this will help.
Upvotes: 4
Reputation: 938
I am getting this same error, and while the underlying cause may be the multiple python versions, I have found that it is happening because of hung queries from Django to my MySQL server. If I run a
show processlist;
at the MySQL prompt, I see that queries are backing up in the queue. If I kill the query at the top, all other open processes immediately complete and my site comes back to life.
Hope this helps someone else. You can also run
show full processlist;
to see the exact query. In my case, it was a django select_related
query that created tons of INNER JOIN
clauses in the query.
See: http://dev.mysql.com/doc/refman/5.1/en/show-processlist.html
Upvotes: 0
Reputation: 2034
Finally, I found the solution. It's a problem of Multiple Python Versions: http://code.google.com/p/modwsgi/wiki/InstallationIssues#Multiple_Python_Versions.
Thanks all! :P
Upvotes: 4
Reputation: 4239
Try to delete this
WSGISocketPrefix /tmp/wsgi
And this
WSGIDaemonProcess mysite processes=5 threads=25
WSGIProcessGroup mysite
On my server it works.
Upvotes: 0
Reputation: 58523
The daemon process crashed. See comments in the mod_wsgi FAQ about what causes crashes:
http://code.google.com/p/modwsgi/wiki/FrequentlyAskedQuestions
and follow links there.
Ultimately the cause can be many things, including loading incompatible mod_python at same time, using Python C extension module that doesn't work with sub interpreters, incompatible shared library versions used by Apache and/or extension modules in PHP etc.
Upvotes: 10