lau*_*ent 33 apache django configuration install mod-wsgi
我试图安装django来使用apache和mod_wsgi但是得到这个错误:
ImportError: No module named django.core.handlers.wsgi,
Run Code Online (Sandbox Code Playgroud)
我读到可能是用户错误...
在控制台(ssh)上,使用root访问权限,访问django.core.handlers.wsgi时没有任何问题,但是当apache要求访问它时,它不能
我的django.wsgi:
import os
import sys
sys.path.append('my/rep/parents/of/my/project')
sys.path.append('/usr/lib/python2.4/site-packages/django')
os.environ['DJANGO_SETTINGS_MODULE'] = 'montest.settings'
os.environ['PYTHON_EGG_CACHE'] = '/tmp'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Run Code Online (Sandbox Code Playgroud)
我的vhost.conf:
Alias /media/ my/rep/parents/of/my/projet/montest/media/
<Directory my/rep/parents/of/my/projet/montest/media>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias /montest my/rep/parents/of/my/projet/django.wsgi
<Directory my/rep/parents/of/my/projet>
Order deny,allow
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
编辑:
好我的ldd mod_wsgi.so的结果
linux-gate.so.1 => (0x0013c000)
libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00663000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00bff000)
libdl.so.2 => /lib/libdl.so.2 (0x0023b000)
libutil.so.1 => /lib/libutil.so.1 (0x00420000)
libm.so.6 => /lib/libm.so.6 (0x00110000)
libc.so.6 => /lib/libc.so.6 (0x00240000) /lib/ld-linux.so.2 (0x0059f000)
Run Code Online (Sandbox Code Playgroud)
所以我决定用test.wsgi测试我的mod_wsgi安装
test.wsgi
def application(environ, start_response):
status = '200 OK'
output = 'Hello world, I am a wsgi app!'
response_headers = [('Content-Type', 'text/plain'), ('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
Run Code Online (Sandbox Code Playgroud)
我的vhost.conf:
WSGIScriptAlias /test /var/www/vhosts/mydomain.fr/subdomains/django/httpdocs/test.wsgi
<Directory /var/www/vhosts/mydomain.fr/subdomains/django/httpdocs>
Order allow,deny
Allow from all
Options +ExecCGI
</Directory>
Run Code Online (Sandbox Code Playgroud)
它现在有效...接下来我将尝试我的django.wsgi配置
小智 16
我通过添加site-packages的位置解决了这个问题,我将django子目录(/Library/python/2.7/site-packages)保存到WSGIDaemonProcess:
WSGIDaemonProcess www.example.com processes=2 threads=15 display-name=%{GROUP}
python-path=/Library/python/2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
如果您使用嵌入式服务器模式,请使用httpd.conf:
WSGIPythonPath /Library/python/2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
这行肯定是错误的:
sys.path.append('/usr/lib/python2.4/site-packages/django')
Run Code Online (Sandbox Code Playgroud)
使用/针对 mod_wsgi 构建的 Python 版本安装 Django。
| 归档时间: |
|
| 查看次数: |
43387 次 |
| 最近记录: |