微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 从flask更改静态文件服务到nginx?

我在Nginx中运行我的烧瓶项目.这是conf文件

server {

   listen  80;
   server_name site.in;
   root /root/site-demo/;
   access_log /var/log/site/access_log;
   error_log /var/log/site/error_log;

   location / {
      proxy_pass         http://127.0.0.1:4000/;
      proxy_redirect     http://127.0.0.1:4000 http://site.in;
      proxy_set_header   Host             $host;
      proxy_set_header   X-Real-IP        $remote_addr;
      proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
      proxy_set_header   X-Forwarded-Proto $scheme;
   }

}

当我试图将静态文件的expires部分放入conf中时,它失败了.我读到这可能是因为静态文件是由flask而不是Nginx提供的.如果是这样,我应该对上面的conf文件进行哪些更改,以便可以通过Nginx为我的项目完成静态文件服务.

根据答案我改变了conf如下.现在所有静态文件显示403错误.

server {

   listen  80;
   server_name site.in;
   root /root/site-demo/;
   access_log /var/log/site/access_log;
   error_log /var/log/site/error_log;

   location / {
      proxy_pass         http://127.0.0.1:4000/;
      proxy_redirect     http://127.0.0.1:4000 http://site.in;
      proxy_set_header   Host             $host;
      proxy_set_header   X-Real-IP        $remote_addr;
      proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
      proxy_set_header   X-Forwarded-Proto $scheme;
   }
   location  /static {
      alias /root/site-demo/static;
      autoindex on;
      expires max;
   } 

}

解决方法:

将此添加到您的Nginx配置:

    location  /static {
        alias /path/to/your/static/folder;
        autoindex on;
        expires max;
    }

编辑

Nginx要求整个树都是可读的,而不仅仅是你的根在Nginx.conf中的起始位置.所以命令

sudo chmod -R 777 /root/site-demo/static

应该解决权限问题.但是,我认为,出于安全原因,将您的站点放在Web服务器的/ root目录中并不是一件好事.通常,站点放在/ var / www文件夹下.

附:

chmod -R 777命令为所有者,组和其他人授予读取,写入和执行文件夹及其所有子文件夹中文件的权限.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐