2014-01-17 122 views
0

TL; DR:請求example.com/static/js/由Ngnix處理,而請求example.com/dynamic/category.php由Lighttpd(Apache)處理。如果可能,如何做到這一點?從不同目錄服務內容到不同的服務器

我有一個網站,其中包含很多靜態內容,如緩存的圖像,樣式表和JavaScript。我對大部分內容使用SSL。我正在考慮改變Lighttpd for HTTP和Apache for HTTPS的當前設置,在Lighttpd中同時使用HTTP和HTTPS,但是我也想用ngnix來提供靜態文件,這對於只有一個工作環境線。 Lighttpd或Apache可以配置爲忽略處理請求,而Ngnix只能從一個目錄及其子目錄獲取請求?

回答

1

當應用程序打開一個端口(在本例中爲80/443)時,它將獨佔擁有該端口。直到客戶端建立連接之後,纔會收到像url路徑之類的東西,然後將其作爲HTTP請求的一部分發送。

你可以做一些事情,比如爲lighttpd中的某些路徑配置一個反向代理,以轉到nginx擁有的不同端口,但是這仍然會通過lighttpd推送所有數據,並且僅使用比lighttpd直接提供的更多資源。

你也可以在不同的端口上運行nginx,並改變你的所有靜態內容url以獲得該端口,但我不確定這會如何影響諸如javascript域限制等東西(這也可以通過配置lighttpd服務301/302的這些網址,但同樣的顧慮仍然存在)

就我個人而言,我發現lighttpd就像服務靜態內容的nginx一樣快,雖然你在做什麼很酷,是否有必要?

+0

感謝您的解釋。我現在還不能確定它是一個優先事項,但是該網站不夠大,無法使用CDN,但它獲得了相當的流量份額。服務器確實每秒都會與數百個請求拖延,所以它需要重新佈線。 – Xeos

+1

apache確實是這樣的,這是非常知名的,但是你不應該對lighttpd上的所有問題都有任何問題,就像你說的那樣。 – Conslo

+0

我最喜歡的一些演示'停止使用apache'的圖表:http://wiki.dreamhost.com/Web_Server_Performance_Comparison – Conslo