python - 如何使用 Django 设置 Apache
问题描述
我正在尝试在 AWS EC2 实例上使用 apache 设置 Django。
这是 /etc/apache2/sites-available 下的 000-default.conf 看起来像这样
<VirtualHost *:80>
ServerName mysite
ServerAlias mysite.com
ServerAdmin mysite@gmail.com
DocumentRoot /var/www/mysite
WSGIScriptAlias /mysite /var/www/mysite/mysite/wsgi.py
ErrorLog /home/ubuntu/apache/errors/error.log
CustomLog /home/ubuntu/apache/errors/custom.log combined
</VirtualHost>
我的 Django 项目在/var/www/
我的 python 位置下/home/ubuntu/anaconda3/bin/python
当我访问该站点时,这就是我得到的。
解决方案
在您共享的图像中,它显示了一个目录列表,因为您没有为虚拟服务器的根目录设置索引文件。您可能不希望您的数据文件公开。
要在请求 mysite.com 根目录时显示您的 Django 项目,请考虑使用 WSGIDaemonProcess 指令设置 WSCGI。您可能还想为静态资源设置一些额外的目录。VirtualHost 配置中的一些简单目录权限和项目数据文件的访问权限应该有助于让事情安全可靠地运行。
查看此HOWTO 以设置 Apache 以提供由 DigitalOcean 出色的人编写的 Django(跳到配置 Apache 部分)。虽然我提供的文档并非专门针对 amazon-ec2,但 Apache 部分应该足以让您运行。请让我知道结果如何。
推荐阅读
- exception - 抛出未经授权的异常以被 UseStatusCodePagesWithReExecute 捕获
- android - ThemedReactContext 无法在 JwPlayer 的 React Native 插件中转换为 Activity
- python - 如何按索引值对熊猫数据框的列进行排序
- git - 如何使用来自私有 git 存储库的应用程序代码构建 docker 映像?
- java - 删除 TreeMap 中的 Map 元素
- azure - Azure Logic App 中的 odata 查询给出空值
- azure - 不受支持的区域的 Azure Maps API 解决方法
- windows - 我如何在 Windows 上证明与我的 rabbitmq 服务器的连接?
- macros - 在 __using__ 中定义另一个宏
- algorithm - 我可以使用 Unix 时间作为 Lamport 时间戳吗?