Skip to main content
 首页 » 编程设计

python之无法使用 mod_wsgi 和 apache 部署 django

2024年10月24日33dyllove98

经过几天令人沮丧的尝试后,我无法使用 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 用户。