我正在構建一個Node.js應用程序,我使用nginx作爲反向代理。我的應用程序有一些我需要提供的靜態文件和一個Socket.io服務器。什麼是更好的方法:用Express或nginx提供靜態文件?
我知道我可以直接使用Express(使用express.static中間件)來提供靜態文件。另外,我可以將nginx直接指向我的靜態文件所在的目錄,所以它們將由nginx提供。
所以,問題是:哪一個更好?使用每種方法時我可以面對哪些優點和缺點?
我正在構建一個Node.js應用程序,我使用nginx作爲反向代理。我的應用程序有一些我需要提供的靜態文件和一個Socket.io服務器。什麼是更好的方法:用Express或nginx提供靜態文件?
我知道我可以直接使用Express(使用express.static中間件)來提供靜態文件。另外,我可以將nginx直接指向我的靜態文件所在的目錄,所以它們將由nginx提供。
所以,問題是:哪一個更好?使用每種方法時我可以面對哪些優點和缺點?
發展:表達,主要是因爲它的靈活性提供了...你可以發展
過程中很容易改變你的靜態位置和結構進行生產:nginx的,因爲它多快多了。 Node/express對執行邏輯非常有用,但對於提供原始內容......沒有什麼可以擊敗nginx。您還可以得到額外的功能,如gzip,負載均衡...
然而,這個問題已經被問在計算器的次數已經:看
你能詳細解釋一下嗎? – serge1peshcoff
The Express documentation explicitly recommends using a reverse proxy where possible。引用自this article:
Nginx可以在處理靜態文件方面做得更好,並且可以防止請求非動態內容阻塞我們的節點進程。
有很多文章討論這個主題,這些都會有更詳細的介紹,但我肯定會聽從Express開發者提出的建議。
Nginx拒絕。 –