gpt4 book ai didi

python - 将静态文件服务从 flask 更改为 nginx?

转载 作者:太空狗 更新时间:2023-10-30 01:21:22 25 4
gpt4 key购买 nike

我在 nginx 中运行我的 flask 项目。这是配置文件

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;
}

}

当我试图将静态文件的过期部分放入 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 命令授予所有者、组和其他人读取、写入和执行文件夹及其所有子文件夹中文件的权限。

关于python - 将静态文件服务从 flask 更改为 nginx?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31782005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com