(nginx + uWSGI + Bottle)提供静态文件



我决定在我的创业网站上使用Python作为主要语言。我很确定uWSGI和Bottle框架可以完美地协同工作。我有点担心他们会缓慢地提供静态文件(我在NodeJS中遇到过这个问题)。是否最好指定多个uWSGI应用程序,并将它们指向不包含静态文件的不同目录?Nginx提供静态文件的速度会更快吗?

ROOT/
|--assets/
|----some.css
|----and_image.png
|--robots.txt
sign_in/
|--[application related files here]
sign_up/
|--[application related files here]

Web服务器的根目录是ROOT,应用程序和包含应用程序文件的目录在Web服务器的根目录之外。

我想这样比较好

location /sign-in {
    uwsgi_pass      unix:///run/uwsgi/app/sign-in/sign-in.co.socket;
    include         uwsgi_params;
    uwsgi_param     UWSGI_SCHEME $scheme;
    uwsgi_param     SERVER_SOFTWARE    nginx/$nginx_version;
}

location /sign-up {
    uwsgi_pass      unix:///run/uwsgi/app/sign-up/sign-up.co.socket;
    include         uwsgi_params;
    uwsgi_param     UWSGI_SCHEME $scheme;
    uwsgi_param     SERVER_SOFTWARE    nginx/$nginx_version;
}
比:

location / {
    uwsgi_pass      unix:///run/uwsgi/app/whole-website/whole-website.co.socket;
    include         uwsgi_params;
    uwsgi_param     UWSGI_SCHEME $scheme;
    uwsgi_param     SERVER_SOFTWARE    nginx/$nginx_version;
}

真的更好吗?或者在这种情况下,uWSGI将不提供静态文件?

你想让nginx为你的静态文件服务。鉴于它们是静态的,不需要逻辑来为它们服务,这与您在瓶中的模板/视图不同。所以静态文件请求最好不要碰到python。它真的很容易在nginx中设置!

在你的服务器块中添加:

location /assets/ {
  alias pathtoyourproject/ROOT/assets/;
}

相关内容

  • 没有找到相关文章

最新更新