标题之前的脚本输出结束:wsgi.py

时间:2016-06-23 13:37:11

标签: django apache python-3.x mod-wsgi wsgi

我正在尝试使用Apache,mod_wsgi和python3安装我的django项目。
但Apache仍然会出现此错误:

Exception ignored in: <module 'threading' from    '/usr/lib/python3.4/threading.py'>
Traceback (most recent call last):
File "/usr/lib/python3.4/threading.py", line 1288, in _shutdown
assert tlock is not None
AssertionError:
End of script output before headers: wsgi.py

我失去了两天试图解决这个问题,我知道这个错误可以由几个原因产生,但我找不到问题所在。

此处 wsgi.py 内容:

#!/usr/bin/python3
# -*- coding: utf-8 -*-


import os
import site, sys

path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if path not in sys.path:
    sys.path.append(path)
sys.path.append('/var/www/myproject/myproject_env/bin/python3.4/dist-packages')
site.addsitedir('/var/www/myproject/myproject_env/bin/python3.4/dist-packages')

os.environ["DJANGO_SETTINGS_MODULE"] = "myproject.settings"

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

Apache配置如下:

<VirtualHost *:80>

    ServerName  mydomain.com
    ServerAlias www.mydomain.com

    DocumentRoot /var/www

    Alias /static/ /var/www/myproject/static/
    Alias /static/admin/ /var/www/myproject/static/admin/
    Alias /uploads/ /var/www/myproject/uploads/

    WSGIDaemonProcess myproject lang='fr_FR.UTF-8' locale='fr_FR.UTF-8' python-path=/var/www/myproject:/var/www/myproject/myproject_env/bin/python3.4/dist-packages
    WSGIProcessGroup myproject
    WSGIScriptAlias / /var/www/myproject/myproject/wsgi.py
    WSGIApplicationGroup %{GLOBAL}

     <Directory "/var/www/myproject/myproject/">
            Require all granted
    </Directory>
    <Directory "/var/www/myproject/myproject/wsgi.py">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Require all granted
    </Directory>

    <Directory /static/admin/>

            Require all granted
    </Directory>
    <Location "/uploads/">
            SetHandler None
    </Location>

    ErrorLog /var/log/apache2/myproject.log
    CustomLog /var/log/apache2/myproject.access.log combined
</VirtualHost>

请有人帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

解决:我将Django项目的位置更改为新Linux帐户中的另一个文件夹。我认为(而且我并不确定)发生了错误,因为 / var / www 包含另一个使用cgi-bin的python项目,这可能会与我的Django项目产生冲突。