我在我的网站上使用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服务问题
感谢
答案 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")