1. 程式人生 > >nginx之十四:優化指南

nginx之十四:優化指南

cti zip壓縮 釋放 nod epoll GZip壓縮 erro 檢測 等級

高層的配置:

worker_processes 定義了nginx對外提供web服務時的worker進程數
worker_rlimit_nofile 更改worker進程最大打開文件數量限制,如果沒有配置,以系統限制

EVENTS模塊:

events {
  worker_connections 2048;
  multi_accept on;
  use epoll;
}
  worker_connections 設置一個worker進程同時打開的最大連接數
  multi_accept 告訴nginx收到一個新鏈接通知後接受盡可能多的連接
  use 設置用於服用客戶端線程的輪詢方法
3. HTTP模塊
http   {
  server_tokens off;
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  ......
}
server_tokens 關閉版本信息
sendfile 可以讓sendfile()發揮作用。
tcp_nopush nginx在一個數據包裏發送所有頭文件,而不是一個一個發
tcp_nodelay nginx不緩存數據,而是一段一段發送
access_log 存儲訪問日誌
error_log 存儲錯誤日誌
keepalive_timeout 10; 分配給客戶端keep-alive鏈接超時時間
client_header_timeout 10; 設置請求頭,請求體的超時時間
client_body_timeout 10;
reset_timedout_connection on; 關閉不響應的客戶端連接,會釋放那個客戶端占用的內存空間
send_timeout 10; 指定客戶端響應超時時間

limit_conn_zone $binary_remote_addr zone=addr:5m;
limit_conn addr 100; 設置每個ip地址最大有100個鏈接,共享內存為5m

include /etc/nginx/mime.types;
default_type text/html;
charset UTF-8;

gzip on; 開啟gzip壓縮
gzip_disable "msie6"; 為制定客戶端禁用gzip功能,設置成ie6 使我們的方案更能夠兼容
gzip_static on; 告訴nginx在壓縮資源之前,先查找是否有預想gzip處理過的資源
gzip_proxied any; 允許或禁止壓縮基於請求和響應的響應流,設置成any所有都會壓縮
gzip_min_length 1000; 如果少於改字節數,不壓縮
gzip_comp_level 4; 設置壓縮等級
gzip_types text/plain text/css application/json application/x-javascript application/xml application/xml+rss text/javascript
設置需要壓縮的數據格式

open_file_cache_max=10000 inactive=20s; 打開緩存,指定緩存最大數目,以及緩存時間
open_file_cache_valid 30s;指定檢測正確信息的間隔時間
open_file_cache_min_uses 2;不活動時間期間裏最小的文件數
open_file_cache_error on;當搜索一個文件時是否緩存錯誤信息,

nginx之十四:優化指南