我试图使用wsgi
部署django
。但它不起作用。你能帮帮我吗?谢谢你
django.wsgi.py
#!/usr/bin/python
import os, sys
sys.path.append('/home/me/project')
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
/etc/apache2/sites-available/default
Error Message
/etc/init.d/apache2 restart
Syntax error on line 3 of /etc/apache2/sites-enabled/me:
Invalid command 'PythonHandler', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
...fail!
更新:奇怪/etc/apache2/sites-enable/me
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
PythonDebug On
PythonPath "['/home/me2'] + sys.path"
SetEnv DJANGO_SETTINGS_MODULE me.settings
我可以禁用mod python吗?在
/etc/apache2/sites-enable/me
文件用于modpython。在你用的是mod\wsgi。在
因此。删除
/etc/apache2/sites-enable/me
并按照此处提供的文档进行操作https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/
很明显,您的错误消息来自不同的文件,而不是}。该文件显然有一个对
me
,而不是{PythonHandler
的引用,这是一个属于mod_python
的指令,您似乎还没有安装(也不应该安装,因为它已被弃用)。在当您修复了这个错误(很可能是完全删除了该文件)之后,
wsgi
文件中会有另一个错误需要修复-您已经将project
路径添加到pythonpath,但随后将您的设置引用为project.settings
,因此找不到它。要么添加父路径,要么引用设置作为settings
。在我不是这方面的专家,但这里是比较我的工作。我使用的是mod\wsgi而不是mod\upython。你在“/etc/apache2/sites enabled/me”中的内容“我似乎在我的”django.wsgi.py“文件,而我在“站点”下没有启用此类文件。在
给你的django.wsgi.py您可能需要将路径添加到外部库,当我为我的项目设置路径时,我的设置文件是/var/myproject/src/myapp/设置.py,我将路径设置为“/var/myproject/src”,并将django_settings_模块设置为我的应用程序设置. 这是我的我的项目.wsgi文件看起来像:
这是我的wsgi.conf文件公司名称:
^{pr2}$相关问题 更多 >
编程相关推荐