【问题标题】:Running django webapp on apache using mod_wsgi使用 mod_wsgi 在 apache 上运行 django webapp
【发布时间】:2015-05-23 07:19:10
【问题描述】:

我是使用 apache 和 mod_wsgi 的新手。但我在 django 方面确实没有什么经验,所以从一些 tutorials 我尝试使用 mod_wsgi 通过 apache 网络服务器运行 django 应用程序。
我在/var/www/创建了我的网站
然后在mysite/application 我创建了application.wsgi ...

import os
import sys

sys.path.append('/var/www/mysite/application')

os.environ['PYTHON_EGG_CACHE'] = '/var/www/mysite/.python-egg'

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

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

在 /etc/httpd/sites-available 我创建了名为 mysite.conf ...

<VirtualHost *:80>
   ServerName mysite.com
   ServerAdmin id@somewhere.com
   ServerAlias mysite.com
   DocumentRoot /var/www/mysite/   
<Directory /var/www/mysite>
Options FollowSymLinks
AllowOverride None
  Order allow,deny
  Allow from all
  SetEnv DJANGO_SETTINGS_MODULE mysite.settings
</Directory>
WSGIDaemonProcess mysite processes=2 threads=15 display-name=%{GROUP}
WSGIProcessGroup mysite
</Virtualhost>

然后我运行a2ensite mysite.conf,没有显示任何错误。
然后在/etc/httpd/hosts/我加了一行my-ipddress mysite.com
我授予上述所有文件和文件夹/var/www/mysite 的权限chmod 777。现在,当我在浏览器上打开 mysite.com 时,我从 django 中看不到 apahce 的默认页面。
我正在使用 Fedora 21。

【问题讨论】:

    标签: python django apache mod-wsgi


    【解决方案1】:

    您没有在该配置中添加任何东西来通过 WSGI 为您的 Django 站点提供服务:您缺少 WSGIScriptAlias 行(请参阅 the documentation:

    WSGIScriptAlias /  /var/www/mysite/mysite/wsgi.py
    

    请注意,您实际上不应该将东西放入 /var/www;而且你不需要创建自己的 WSGI 文件,Django 会在你创建项目时为你创建一个。

    【讨论】:

    • 一开始我没有将文件放入 /var/www/ 但它不起作用,所以我想在其中移动一些东西。我在 mysite.conf 中添加了 WSGIScriptAlias 但没有改变......
    • 你重新加载 Apache 了吗?
    • 查看the following tutorial 以获取@DanielRoseman 解释的工作示例。
    猜你喜欢
    • 2020-10-11
    • 2010-11-15
    • 2016-08-26
    • 2014-05-11
    • 1970-01-01
    • 2012-03-17
    • 2011-06-04
    • 1970-01-01
    • 2015-03-17
    相关资源
    最近更新 更多