gpt4 book ai didi

python - 如何在apache2中运行Django应用程序

转载 作者:行者123 更新时间:2023-11-30 23:54:14 26 4
gpt4 key购买 nike

大家好,我无法在 apache2 Web 服务器中运行 django 应用程序。我已经浏览了所有文档,但它仍然对我不起作用。这是我的 Apache2 的 httpd.conf 文件

<Location "/mysite/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonOption django.root /mysite
PythonPath "['/home/djangotest/mysite'] + sys.path"
PythonDebug On
</Location>

我的 django 项目位置位于/home/djangotest/mysite,我在其中运行民意调查应用程序。为了在 apache2 中工作,我必须在 settings.py 或 urls.py 中提到一些东西,它在开发服务器中工作正常。或者我必须在 apache2 中进行配置才能工作

最佳答案

  1. 下载并安装http://modwsgi.googlecode.com/files/mod_wsgi-3.3.tar.gz

  2. 添加到/etc/httpd/conf.d/目录

<小时/>
<VirtualHost *:80>
ServerName --insert--

ErrorLog /home/djangotest/mysite/error_log
CustomLog /home/djangotest/mysite/access_log combined

UseCanonicalName Off

WSGIScriptAlias /g2 /home/djangotest/mysite/mysite.wsgi
WSGIDaemonProcess iproj processes=7 threads=1 display-name=%{GROUP}

</VirtualHost>
  1. 添加到/etc/httpd/conf/httpd.conf 中的 LoadModules 部分

    LoadModule wsgi_module/usr/lib/httpd/modules/mod_wsgi.so

  2. 添加到/etc/httpd/conf/httpd.conf 中的 AddHandler 部分

    AddHandler wsgi-script .wsgi

  3. 确保您的 httpd 用户可以访问/home/djangotest/以及执行您的 python 脚本

  4. 创建 mysite.wsgi 文件:

<小时/>
import os
import sys

sys.path.append('/home/djangotest/mysite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

或者正如 @Efazati 所说,阅读手册;)

<小时/>

希望这能解决您的最后一个问题:

no module named mysite.urls but there is a file urls.py

检查您的设置文件

ROOT_URLCONF = "mysite.urls"

这是你的 urls 文件的名称,我猜你没有名为 mysite.urls.py 的模块?听起来你的属性(property)应该是这样的:

ROOT_URLCONF = "urls"

关于python - 如何在apache2中运行Django应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5246181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com