【问题标题】:Trying to run a python django website but Mod_wsgi is not working尝试运行 python django 网站,但 Mod_wsgi 不工作
【发布时间】:2013-06-07 13:35:45
【问题描述】:

我正在尝试在 linux 上使用 apache2 和 mod_wsgi 运行 pyhton django 项目。

它似乎没有运行任何 python 代码。当我在浏览器中输入网站的 url(我的服务器上的 mysite.com)时,页面会加载它应该加载的模板文件,但是,任何 python 都显示为常规文本,并且静态文件也不会加载。

要检查是否启用了 mod_wsgi,我在终端中输入了 a2enmod,它显示模块 wsgi 已启用。此外,这是一个在开发服务器上运行良好的现有项目。

我正在关注https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/modwsgi/ 上的教程 所以我在启动项目时将下面的代码添加到了httpd.conf文件中。

<IfModule wsgi_module>
WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py
WSGIPythonPath /var/www/mysite

Alias /static/ /var/www/mysite/signup/static/signup

<Directory /var/www/mysite/mysite>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

<Directory /var/www/mysite/mysite/template>
DirectoryIndex integrate.html
Options Indexes FollowSymLinks

</Directory>


WSGIDaemonProcess mysite.com python-path=/var/www/mysite:/usr/local/lib/python2.7/dist-packages
WSGIProcessGroup mysite.com
</IfModule>

【问题讨论】:

  • 您的 httpd.conf 文件包含什么?你在用 virtualenv 吗?
  • 您是否编辑了 httpd 中的 python.conf 以创建项目的别名??
  • 你至少必须展示你的 apache 配置。
  • 当你看到原始 Python 时你会去哪些 URL?
  • 为什么会有 '/var/www/mysite/mysite/template' 的目录块?

标签: python django apache apache2 mod-wsgi


【解决方案1】:

如果你正在使用 WSGIDaemonProcess 和 WSGIProcessGroup(我总是把它们放在第一位)删除 WSGIPythonPath /var/www/mysite

我也没有&lt;IfModule wsgi_module&gt;或DirectoryIndex(应该包含在你的 URLConf 中)

你在使用模板吗?不知道为什么你会看到原始的 python。

【讨论】:

  • 我的模板中的 {% csrf_token %} 之类的东西会在我打开它时出现。不知道为什么
【解决方案2】:

有一点是错误的:

Alias /static/ /var/www/mysite/signup/static/signup

应该是:

Alias /static /var/www/mysite/signup/static/signup

或:

Alias /static/ /var/www/mysite/signup/static/signup/

对于子 URL,必须平衡使用斜杠。也就是说,出现在两者上或都不出现在两者上。

您还缺少目录“/var/www/mysite/signup/static”的目录块,告诉 Apache 它可以访问该目录中的文件。

我不明白为什么尽管您将其映射到“注册”子目录。为什么不只映射到“静态”目录?你可能也有一些奇怪的东西。

最后,如果你看到的是 Python 源代码,那么听起来有点像你把你的 Django 站点放在 DocumentRoot 下,这是完全错误的,然后上面的内容就没有被使用。但是由于您没有很好地解释它,所以问题出在哪里并不完全清楚。您实际上没有遵循 Django 文档所做的事情并没有帮助。我建议你再去阅读文档。

【讨论】:

    猜你喜欢
    • 2010-09-23
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 2013-05-05
    相关资源
    最近更新 更多