【问题标题】:nginx file configuration with static folder, in Flask+Gunicorn+Nginx application在 Flask+Gunicorn+Nginx 应用程序中使用静态文件夹配置 nginx 文件
【发布时间】:2022-02-12 23:44:27
【问题描述】:

我有一个 Flask+Gunicorn+Nginx 应用程序,这是 etc/nginx 中站点可用文件的设置。

我的问题是应用程序没有加载图像和 css 样式,但 Flask 逻辑主题、路由、登录和其他工作。

问题出在我的静态文件夹上。

这是配置文件:

server {
    listen 443 ssl;
    server_name dominio.com;

    ssl_certificate /etc/letsencrypt/live/dominio.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/dominio.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/suppliers.sock;
    }

    location /static/ {
        root /home/soporte/portal_providers/app_Portal;
        autoindex off;
    }
}

server {
    if ($host = dominio.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    server_name dominio.com;
    return 404; # managed by Certbot
}

存档蓝图烧瓶:

auth = Blueprint('auth', __name__,template_folder='templates', static_folder='static')

在 html 中链接图片:

{% block logo %}
<img src="images/Logo--definitivo.jpg" class="menu-logo py-0 " style="z-index: auto">
{% endblock %}

项目结构 enter image description here

【问题讨论】:

    标签: python nginx flask gunicorn


    【解决方案1】:

    尝试root 而不是alias。我正在开发的应用程序的(工作,已部署)nginx 配置确实

    location /static/ {
        root /home/pi/app;
        autoindex off;
    }
    

    【讨论】:

    • 感谢您的回答,我添加了您告诉我的内容,但我仍然遇到同样的问题。更新初始评论、图片的url和配置文件,这样你就可以看到更新了。
    • 如果您注释掉/static/ 的位置块并且静态文件突然可见,则可能是权限问题。
    • 您好,谢谢,确实,当您删除静态路由时,它已经加载了样式。检查整个文件夹的权限,用户有完全权限,你知道还有哪些权限吗?
    • 它们确实是权限,用户 www-data 在站点文件夹中。非常感谢您的帮助戴夫 W
    猜你喜欢
    • 2021-05-12
    • 1970-01-01
    • 2013-06-27
    • 2021-07-18
    • 2023-04-04
    • 2015-03-30
    • 2022-06-11
    • 2023-03-05
    • 2013-08-12
    相关资源
    最近更新 更多