2

我正在尝试在 Ubuntu 12.04(在 Amazon EC2 机器上)上设置 Django 服务器。

按照文档的建议,我已成功设置 Nginx 以提供静态文件,并将任何不以 /static/ 开头的内容转发到端口 8080 上的 Apache。

但是,对该端口发出的所有请求都会连接,但随后会超时。

例如

$ wget http://localhost:8080/
--2013-06-14 00:16:31--  http://localhost:8080/
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... ^C

回应永远不会到来。

Nginx 日志报告请求被上游发送到 localhost:8080,但什么都没有回来,也没有 /var/log/apach2/*

如果我运行 python manage.py runserver 8080,它可以正常工作 - 静态文件由 Nginx 提供,其余的由 Django 提供。

当我最初在端口 80 上运行 Apache 时,它​​运行良好,但没有静态内容。

我只修改了 Apache2 的 3 个文件:httpd.conf、ports.conf 和 sites-enabled/000-default

httpd.conf

WSGIScriptAlias / /home/ubuntu/fingerprints_server/Fingerprints_django/wsgi.py
WSGIPythonPath /home/ubuntu/fingerprints_server

<Directory /home/ubuntu/fingerprints_server/Fingerprints_django>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

端口.conf

NameVirtualHost *:8080 # used to be NameVirtualHost *:80
Listen 8080 # used to be Listen 80

启用站点/000-默认

<VirtualHost *:8080> # First line, used to be <VirtualHost *:80>

据我所知,没有内部防火墙——iptables 没有列出任何规则。我有一个配置了 EC2 的防火墙,它在尝试调试此问题时打开端口 80,顺便说一下 8080。netstat -lntp 显示 apache2 侦听端口 8080。

有任何想法吗?

4

0 回答 0