我在使用mod_wsgi + Django + Apache时遇到问题

时间:2019-03-25 13:58:03

标签: python django apache mod-wsgi

我们在Debian Stretch服务器上的Django 2.1.2中部署了Python 3应用程序。如果我们在应用程序目录中运行/usr/bin/python3 manage.py runserver 0:8000,它将正常运行。

然后,我们尝试使用mod_wsgi for Apache为该应用程序提供服务。我们没有使用virtualenv。我们使用的mod_wsgi的版本是4.6.5,Apache的版本是2.4。但是mod_wsgi + Apache没有使用Django,因此index.html似乎是这样的:

{% if user.is_authenticated %} Hello {{ user.first_name }}而不是具有CSS样式,图像等的页面

我的/etc/apache2/sites-available/myapp.conf内容是:

<VirtualHost *:80>
Servername myapp
DocumentRoot /home/project/myapp/myapp/templates/myapp
WSGIScriptAlias /myapp /home/project/myapp/myapp/wsgi.py
WSGIDaemonProcess myapp
WSGIProcessGroup myapp

<Directory /home/project/myapp>
AllowOverride All
Require all granted
</Directory>

</VirtualHost>

1 个答案:

答案 0 :(得分:0)

这里有几个错误。

首先,您绝对不应将DocumentRoot设置为模板目录。实际上,您根本不需要设置它;删除该行。

第二,您已将应用程序设置为在前缀“ myapp”上投放。我怀疑你想这样做;听起来您只是希望您的应用程序可以在根目录上运行。因此,从别名中删除它:

WSGIScriptAlias / /home/project/myapp/myapp/wsgi.py