使用nginx时,flask无法加载静态文件

时间:2018-03-21 06:32:03

标签: nginx flask

我在我的网站上使用flask + gunicorn。而且我只使用nginx进行反向代理。并设置为nginx config flask proxy setups。我还没有在nginx.conf文件中添加位置/静态信息。因此所有静态文件都应该由烧瓶本身处理。但是从公共网络访问时,它无法加载css文件。我试图在没有nginx的情况下单独运行flask + gunicorn,它运行良好。那么为什么不能在nginx后面自己提供静态文件?

然后我将位置/统计信息添加到nginx配置文件中,以便nginx可以提供静态文件。仍然无法加载静态文件。当我查看错误日志。它显示

  

" /var/www/my_project_folder/static/css/style.css"失败了(2:没有   文件或目录),客户端:61.152.126.178,服务器:_,请求:" GET   /static/css/style.css HTTP / 1.1",主持人:" 47.97.209.250",推荐人:   " http://47.97.209.250"

错误消息中的路径实际上是正确的。我尝试的最后一个方法是在root下运行所有​​脚本和服务,并将chmod my_project运行到666.但仍然没有成功。

我搜索了stackoverflow,但没有人提到烧瓶itselft可以提供nginx后面的静态文件的问题。

所以我希望任何人对此有任何想法或线索。和nginx服务问题

感谢

1 个答案:

答案 0 :(得分:0)

我用以下方法解决了它: https://www.reddit.com/r/flask/comments/avkjh0/ask_flask_serve_static_files_from_flask_app_via/

nginx.sh:

USE_STATIC_PATH=${STATIC_PATH:-'/app/static'}
location /webappB/static {
  #alias /path/to/webappB/static;
  alias $USE_STATIC_PATH;
}

main.py:

app = Flask(__name__, static_url_path="/webappA")