python - 如何使用 Nginx 提供 Flask 静态文件?

标签 python nginx flask

我有一个具有这种结构的网络应用程序:

|
|__ static
   |__style.less
   |__images
|__ myapp.py
|__ wsgi.py

我已经设法使用 nginx 和 wsgi 运行 Web 应用程序,但问题是没有提供静态文件,我的意思是,当我转到它们的 URL 时,服务器找不到它们。它给了我 404。

这是我的 nginx 配置文件部分:

 server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/public_html;
    index index.php index.html index.htm;

    server_name xxxxxxx.com;

    location / {
        try_files $uri $uri/ =404;
    }

    location /myapp {
        include uwsgi_params;
        uwsgi_pass unix:/var/www/public_html/myapp/myapp.sock;
}

有什么遗漏吗?

最佳答案

将此添加到您的 nginx 配置中

location ^~ /static/  {
    include  /etc/nginx/mime.types;
    root /project_path/;
}

/project_path/ 替换为你的应用的绝对路径,你应该注意它不包括静态目录和里面的所有内容/project_path/static/ 将在 url /static/ 中提供服务。

关于python - 如何使用 Nginx 提供 Flask 静态文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31682179/

相关文章:

python - 文件太大 python

php - Nginx 和 PHP-FPM 502 网关错误

html - 如何使用自定义位置或路径代替 root 用于使用 nginx 的多个应用程序?

python - 带有请求的 flask 损坏的管道

python - 使用应用工厂时绑定(bind)路由

python - 在另一个文件中注释 Flask-Resource

python - Scikit-Learn 中的分类数据转换

Python:就地映射

php - Laravel 路由不起作用,只有根路由起作用

python - pandas 将列值拆分为单独的列