nginx uwsgi – 什么是提供静态文件?

前端之家收集整理的这篇文章主要介绍了nginx uwsgi – 什么是提供静态文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我使用Nginx作为几个烧瓶应用程序的代理,uwsgi作为中间件.这是我的测试应用程序的Nginx配置.


server {
    listen      80;
    server_name test.myapp.com www.test.myapp.com;
    charset     utf-8;
    client_max_body_size 250M;
    location / { try_files $uri @testapp; }

location @testapp {
    include uwsgi_params;
    uwsgi_pass unix:/tmp/testapp_uwsgi.sock;
}

location /forecaster/components/ {
    alias /opt/test/client/app/components/;
}

}

我很确定Nginx实际上并没有提供静态文件,即使我注释掉了位置块,文件也会从某些东西中获得服务.我在Nginx日志中看到200,在uWsgi日志中看到200.你怎么知道哪一个提供静态文件?我想烧瓶应用程序也可以为他们服务?

/ opt / test / client / app / components /当然存在,并且对其他人可读.有没有办法迫使uwsgi不处理这些请求?

最佳答案
你确实需要一个位置.但这并不是Nginx不提供静态文件的原因.

问题是您忘记在服务器块中指定根指令.因此,Nginx使用其编译的默认值,这是系统相关的,几乎可以肯定不是您的Web应用程序所在的位置.因此,包括静态文件在内的所有请求都向uWSGI上游发送.

解决此问题,请设置指向应用程序静态资源的根指令.

server {
    root /srv/www/testapp;

或者,如果子目录中只有静态文件,则可以使用位置和别名as shown in the uWSGI documentation指定.

location /static {
    alias /srv/www/testapp/static;
}
原文链接:https://www.f2er.com/nginx/435534.html

猜你在找的Nginx相关文章