【发布时间】:2015-10-25 05:57:13
【问题描述】:
我正在 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;
}
}
当我尝试将静态文件的过期部分放入 conf 时,它失败了。我读到这可能是由于静态文件是由烧瓶而不是 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;
}
}
【问题讨论】:
-
Flask 不提供静态文件。
-
所以您现在遇到了权限问题。我已经编辑了答案。
-
在
nginx.conf中设置的user是谁? -
您可以使用
namei -om /root/site-demo/static命令行命令查看这些文件夹的权限。 -
drwxr-xr-x root root / ------- drwx------ root root root ---------- drwxr-xr-x 777 www -data site-demo --------- drwxrwxrwx 777 www-data static 这是我得到的输出。 www-data 是我认为的所有者