【问题标题】:Nginx does not serve the flask pages and shows the default static pageNginx 不提供烧瓶页面并显示默认静态页面
【发布时间】: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


【解决方案1】:

在您的nginx.conf 中搜索单词include 也许它包括配置文件的其他目录。

另外,可能还有其他带有

的配置块
location / 

这将取代同样具有listen 80 的部分。

【讨论】:

  • 谢谢,但我的 conf 文件只有我原帖中显示的行
  • 对,但是你粘贴的conf来自/etc/nginx/sites-enabled
  • 但我在想其他包含或位置块在 /etc/nginx/nginx.conf 的主 nginx.conf 中
  • /etc/nginx/nginx.conf 看起来如下:gist.github.com/harrywang/3197f7726c3085ba481d。它包括 /etc/nginx/conf.d/* 但该文件夹是空的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 2020-07-24
  • 1970-01-01
相关资源
最近更新 更多