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

我使用nginx作为几个烧瓶应用程序的代理,uwsgi作为中间件.这是我的测试应用程序的nginx配置. server { listen 80; server_name test.myapp.com www.test.myapp.com; charset utf-8; client_max_body_size

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

作者: dawei

【声明】:滨州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

【免责声明】本站内容转载自互联网,其发布内容言论不代表本站观点,如果其链接、内容的侵犯您的权益,烦请提交相关链接至邮箱xwei067@foxmail.com我们将及时予以处理。

Copygight © 2016-2024 https://www.0543zz.com All Rights Reserved.滨州站长网

站长:xwei067#foxmail.com(请把#换成@)

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息