我有一个运行 Ubuntu 的 Amazon EC2 实例,我正试图让它显示我的 Django 站点。开发服务器工作(即如果我在实例上运行开发服务器并转到http://ec2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com/:8000,我的网站工作很好),但我无法让它通过 apache 正常运行。
我已经阅读了大约一千个教程,但到目前为止没有一个是成功的。这是我最近的尝试——我的 Django 站点存储在 /home/ubuntu/Amazon/repo/my_site/ 中。
我尝试使用以下内容在 /etc/apache2/sites-available/ec2.conf 中创建一个虚拟主机文件:
<VirtualHost *:80>
ServerName ec2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com
ServerAlias *.compute.amazonaws.com
WSGIScriptAlias / /home/ubuntu/Amazon/repo/my_site/my_site/apache/apache.wsgi
<Directory />
Require all granted
</Directory>
</VirtualHost>
之后,我运行sudo a2ensite ec2
将 conf 文件添加到启用站点,但在我的浏览器中转到 ec2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com 仍然返回到默认页面。
任何指导都会很棒,我确定我错过了几个步骤,但我现在完全迷失了。目前有很多不明白的地方,比如:
- 我需要 /var/www/html/ 某个地方的目录吗?或者 Django 会处理这个问题吗?
- 我是否需要使用虚拟主机?还是仅适用于子域?
- 我需要先注册一个域名才能使用它吗?我看到的所有示例都使用类似“example.com”的内容,其中我有“ec2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com”。我已经注册了域名,但我还没有将它指向我的亚马逊实例——我希望首先让它工作。
编辑:Apache error.log 输出:
[Tue Jul 08 16:07:47.983174 2014] [mpm_event:notice] [pid 5054:tid 140062636054400] AH00491: caught SIGTERM, shutting down
[Tue Jul 08 16:07:49.046666 2014] [mpm_event:notice] [pid 5211:tid 139882510350208] AH00489: Apache/2.4.7 (Ubuntu) mod_wsgi/3.4 Python/2.7.6 configured -- resuming normal operations
[Tue Jul 08 16:07:49.046735 2014] [core:notice] [pid 5211:tid 139882510350208] AH00094: Command line: '/usr/sbin/apache2'