nginx優化之配置文件優化一常用參數


#定義nginx運行的用戶和用戶組

user www www;

 

#啟動進程,通常設置成和cpu的數量相等

worker_processes 8 ;

 

#為每個進程分配CPU,上面京8個進程分配到8個cpu,當然可以寫多個,或者將一個進程分配到多個CPU

worker_cpu_affinity 00000001 00000100 00001000 00010000 00100000 01000000 10000000;

 

#該指令是當一個Nginx進程打開的最多文件描述符數目,理論值應該是最多打開文件數(ulimit-n)與nginx進程數相除,但是Nginx分配請求並不是那么均勻,所以最好與ulimit -n 的值保持一致

worker_rlimit_nofile 102400;

 

#全局錯誤日志

error_log /usr/local/nginx/logs/error.log;

#錯誤日志定義等級,[debug,info,notice,warn,error,crit]

 

#pid文件

pid  /usr/local/nginx/nginx.pid;

 

#工作模式及連接數上限

events{

  use  epoll;

        }

  #epoll 是多路復用I/O(I/O multipliexing)中的一種方式,但是僅用於linux 2.6以上內核,可以大大提高nginx的性能

 

#單個后台worker_process進程的最大並發連接數(最大連接數=連接數*進程數)

worker_connections 102400;

 

#盡可能多地接受請求

multi——accept on;

 

#設定http服務器,利用他的反向代理功能提供負載均衡

  http{

    include  mime.types;

    default_type  application/octet-stream;

    }

#設定日志格式

access_log  /usr/local/nginx/log/nginx/access.log;

 

#sedfile指定nginx是否調用sendfile函數(zero copy方式)來輸出文件,對於普通應用必須為on

#如果用來進行下載登用用磁盤I/O重負載應用,可設置為of,來平衡磁盤與網絡I/O

sendfile  on ;

 

#開啟目錄列表訪問,適合下載服務器,默認關閉

autoindex   on ;

 

#防止網絡阻塞

tcp_nopush on;

 

#keepalive超時時間,客戶端到服務器的連接持續有效時間,當出現對服務器的后端請求時,可以避免建立或重新建立連接

keepalive_timeout 60;

  

 

#提高數據的實時響應性

tcp_nodelay  on;

 

#開啟gzip壓縮

gzip on;

gzip_min_length 1KB;

gzip_buffers  4 16k;

gzip_http_version 1.1;

gzip_comp_level 2;

  #壓縮級別大小,最大為9,值越小,壓縮后比例越小,CPU處理更快,值越大,消耗CPU比較高

gzip_types  text/plain application/x - javescript text/css application/xml;

gzip_vary on;

 

#允許客戶端請求的最大單文件字節數

client_max_body_size 10MB;

 

#緩沖區代理緩沖用戶端請求的最大字節數

client_body_buffer_size 128KB;

 

#nginx跟后端服務器超時時間(代理連接超時)

proxy_connect_timeout 90;

 

#后端服務器數據回傳時間(代理發送超時)

proxy_send_timeout 90;

 

#連接成功后,后端服務器響應時間(代理接受超時)

proxy_read_timeout 90;

 

#設置代理服務器(nginx)保持用戶頭信息的緩沖區大小

proxy_buffer_size 4KB;

 

#proxy_buffers緩沖區,網頁平均在32KB一下的話,這樣設置

proxy_buffers 4 32KB;

 

#高負荷下緩沖大小(proxy_buffers*2)

proxy_busy_buffers_size 64KB;

 

#設定請求緩沖

large_client_header_buffers 4 4KB;

client_header_buffer_size 4KB;

  #客戶端請求頭部的緩沖區大小,這個可以根據系統分頁大小來設置,一般一個請求的頭部不會超過1KB,不過一般胸痛分頁都大於1KB,所以這里設置為分頁大小,分頁大小可以用命令getconf pagesize取得

 

#為打開文件指定緩沖,默認時沒有啟用的,max指定緩沖數量,建議和打開文件數一致,inactive是指經過多長時間文件沒被請求后刪除緩沖

open_file_cache max = 102400 inactive = 20s;

 

#多長時間檢查一次緩沖的有效信息

open_file_cache_valid 30s;

 

#open_file_cache指令中的inactive參數時間內文件的最少使用次數,如果超過這個數字,文件描述符一致是在緩沖中打開的,比如上面,如果有一個文件在inactive

open_file_cache_min_user 1;

 

#包含其他配置文件,如自定義虛擬主機

include vhosts.conf;

 

轉載請注明出處:https://www.cnblogs.com/zhangxingeng/p/10695361.html 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM