我有一个运行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'