经过几天令人沮丧的尝试,我无法使用mod_wsgi部署django站点。有人可以理智地检查这些细节,看看是否有明显的错误吗?这是我的第一个Django部署。它正在使用python manage.py runserver 10.10.10.214:8080运行文件,但是我无法部署

我在wsgi.py中的/home/user/django/mysite文件(也在我的settings.py等位置)

"""
WSGI config for myproject project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/
"""

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()


我的apache .conf文件:

LoadModule wsgi_module /home/conf/apache2/modules/mod_wsgi.so #dont read into the locations too much - they are correct

WSGIScriptAlias / /home/user/django/mysite/wsgi.py
WSGIPythonPath /home/user/django

<Directory /home/user/django/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>


我被迫使用高度预定义的apache版本,但其中包含上面的conf文件。根本没有任何帮助。

干杯,亚瑟

最佳答案

试试这个wsgi.py:

import os
import sys

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

sys.path.append('/home/user/django/mysite/')
sys.path.append('/home/user/django/')

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()


并将其添加到您的conf中,别名之前:

WSGIDaemonProcess <process_name> processes=2 threads=15 user=<username> display-name=%{GROUP}
WSGIProcessGroup <process_name>


进程名称可以是“ mysite.com”或其他名称。该用户是Linux用户。

关于python - 无法使用mod_wsgi和apache部署django,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31166962/

10-16 22:52