DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁SEO優化 >> SEO優化集錦 >> Nginx 作為web server 的優化要點
Nginx 作為web server 的優化要點
編輯:SEO優化集錦     

2997202509

Nginx既可作為web server,也可作為反向proxy,這裡先討論作為web server的一般性優化要點。

常用優化要點

nginx使用的是固定數量的workers, 每個worker都處理進入的請求。最佳實踐是每個CPU內核配置一個worker.

如何知道您的系統有幾個CPU?

  • $ grep ^processor /proc/cpuinfo | wc -l

對於一個四核處理器,配置文件類似:

# One worker per CPU-core.

  • worker_processes  4;
  • events {
  •     worker_connections  8096;
  •     multi_accept        on;
  •     use                 epoll;
  • }
  • worker_rlimit_nofile 40000;
  • http {
  •     sendfile           on;
  •     tcp_nopush         on;
  •     tcp_nodelay        on;
  •     keepalive_timeout  15;
  •     # Your content here ..
  • }

這裡我們提高了 worker_connections 設置,定義了每個worker進程能處理多少連接。

服務器的最大連接數量是:

  • worker_processes * worker_connections (= 32384 本例中)

這裡啟用了 multi_accept,該配置項使nginx能盡快接收盡可能多的請求,減少客戶端的連接初始化時間。

最後,本例中使用了 epoll 的事件模型,這也是最佳實踐建議。

壓縮

很多用戶會啟用 gzip壓縮模塊,使得返回客戶端的內容更簡短,傳輸更快。

但是壓縮會消耗用戶服務器資源,通過監控CPU使用率(可采用開源Hyperic),如果過高,可以考慮禁用壓縮。

通常只壓縮大文件,避免壓縮那些壓縮效果不好的文件,例如圖片,可執行文件等二進制文件。

用戶可參考下面配置:

  • gzip  on;
  • gzip_vary on;
  • gzip_min_length 10240;
  • gzip_proxied expired no-cache no-store private auth;
  • gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
  • gzip_disable "MSIE [1-6]\.";

上面配置,只對文件大於10k的文本文件進行壓縮。

客戶端緩存

如果客戶端(一般是浏覽器)認為已經保存了要下載的最新內容,就不會向nginx服務器再發請求。

這需要做一些緩存設置。最簡單的辦法是將所有的圖片,js等靜態內容設置一個固定的時間長度:

  • location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
  •          access_log        off;
  •          log_not_found     off;
  •       &nb

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved