2013-03-05 111 views
0

我決定在開始使用網站時將Python用作主要語言。我很確定uWSGI和Bottle框架在一起完美工作。我有點擔心他們會緩慢地提供靜態文件(我在NodeJS中遇到過這個問題)。最好是指定多個uWSGI應用程序並將它們指向不包含靜態文件的不同目錄? Nginx會提供更快的靜態文件嗎?(nginx + uWSGI + Bottle)服務靜態文件

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不會提供靜態文件?

回答

0

你想讓nginx提供你的靜態文件。鑑於它們是靜態的,與服務瓶中的模板/視圖不同,服務它們不需要任何邏輯。所以它更好的靜態文件請求永遠不必命中python。而且它很容易在nginx中設置!

內,您的服務器模塊只需要添加:

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