加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

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

发布时间:2020-12-13 21:22:41 所属栏目:Nginx 来源:网络整理
导读:我使用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; } loc

我使用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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读