【发布时间】:2016-02-01 23:23:36
【问题描述】:
我有一个使用 AWS EC2 在 Ubuntu 14.04 上运行 gunicorn 和 nginx 的烧瓶应用程序。我已经从 /etc/nginx/sites-available 和 /etc/nginx/sites-enabled 中删除了默认站点。在这两个文件夹中,只有一个文件:flasky - 我的 nginx 文件如下:
server {
listen 80;
location / {
include proxy_params;
proxy_pass http://unix:/tmp/flasky.sock;
}
当我在浏览器中输入服务器的 IP 时,会显示默认的 Nginx 静态页面。如果我转到 /auth/login,Flask 提供的正确页面会正确显示。
如果将端口从 80 更改为 8080,重启 Nginx,输入http://ip-address:8080 则所有 Flask 页面都可以正常工作。我不知道如何为端口 80 解决此问题。请帮助!谢谢!
更新:我刚刚发现如果我使用 AWS 公共 DNS:http://ec2-50-112-125-180.us-west-2.compute.amazonaws.com,它可以工作。但如果我使用相应的弹性 IP:50.112.125.180,它会显示 nginx 默认页面。有谁知道为什么?
【问题讨论】:
-
只需删除默认虚拟主机,这可能是加载顺序冲突,因为您没有定义
hostname。 -
如我所说,我已经删除了默认值。
-
能否请您发布您的 nginx.conf 文件。抱歉,我在阅读时一定没有考虑到这一点。另请确保您已完成 nginx 重新加载
-
谢谢,乔。但我认为它与 AWS EIP 有关 - 如果不与 EIP 一起使用,它可以正常工作 - 不知道为什么。
标签: nginx flask ubuntu-14.04 gunicorn aws-ec2