Nginx
將 nginx 設置為 php 和節點框架的代理的提示
我們在生產中安裝了一個目前即將成為舊版 PHP 應用程序,並與 apache 一起提供服務。工作正常。
目前正在嘗試添加新的 Node.js alpha 堆棧,我們計劃將其與實時框架一起安裝一段時間以進行測試(暫時在暫存伺服器上,而不是生產環境上)。
我們將在新環境中使用 nginx 作為節點和其他幾個服務的前端。此外,現在也需要繼續為舊的 php 應用程序提供服務——通過 nginx(而不是 apache)。
我的問題:
- 將 nginx 設置為此類服務的有效反向代理的任何實際生產技巧?這對我來說似乎很簡單,並且似乎完全按照預期工作——但我一直是一個 apache 人,所以我只想確保我沒有忽視任何安全方面、性能方面等方面的事情。
- 從 apache 支持的 PHP 切換到 php-fpm 以服務現有應用程序時,我應該注意什麼?我以前從未使用過這種風格的 php,但它看起來是通過 nginx 執行此操作的最佳方式。所有明顯的 ini 值都被移植了,但我仍然覺得我可能遺漏了一些東西。
- nginx 開箱即用,效果很好。壓縮、Expires 標頭和直接提供靜態內容的正常性能考慮仍然適用。nginx 唯一真正的性能選項是
worker_process
和worker_connections
選項。- 我自己沒有使用過 PHP-FPM,所以我不知道它與 FastCGI 上的標準 PHP(在 nginx 下)有多大不同。如果 PHP 設置是臨時的,我可能會選擇標準 PHP 而不是 FastCGI。