您好,登錄后才能下訂單哦!
#使用的用戶和組
user www www;
#指定工作衍生進程數(一般等于cpu的總核數或總核數的兩倍,例如兩個四核cpu,則總核數為8)
worker_processes 4;
#指定錯誤日志存放的路徑,錯誤日志記錄級別可選項為:[debug|info|notice|warn|error|crit]
error_log /usr/local/nginx/logs/nginx_error.log crit;
#指定pid存放的路徑
pid /usr/local/nginx/logs/nginx.pid;
#指定進程可以打開的最大描述符:數目
#工作模式與連接數上限
#這個指令是指當一個nginx進程打開的最多文件描述符數目,理論值應該是最多打開文件數(ulimit -n)與nginx進程數相除,但是nginx分配親求并不是那么均勻,所以最好與ulimit -n的值保持一致。
#現在在linux 2.6內核下開啟文件打開數為65535,worker_rlimit_nofile就相應應填寫65535.這是因為nginx調度時分配請求道進程并不是那么的均衡,所以假如填寫10240,總并發量達到3-4萬時就有進程可能超過10240了,這時會返回502錯誤。
worker_rlimit_nofile 65535;
events
{
#使用的網絡I/O模型,Linux系統推薦采用epoll模型,FreeBSD系統推薦采用kqueue模型
use epoll;
multi_accept on;
#單個進程最大連接數(最大連接數=連接數*進程數)
#根據硬件調整,和前面工作進程配合起來用,盡量大,但是別把cpu跑到100%就行,每個進程允許的最多連接數,理論上每臺nginx服務器的最大連接數為
worker_connections 65535;
}
http
{
#文件擴展名與文件類型映射表
include mime.types;
#默認文件類型
default_type application/octet-stream;
#設置使用的字符集,如果一個網站有多種字符集,請不要隨便設置,應讓程序員在HTML代碼中通過Meta標簽設置(默認編碼)
#charset utf-8;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
#客戶端請求頭部的緩沖區大小,這個可以根據你的系統分頁大小來設置,一般請求頭的大小不會超過1k,不過由于一般系統分頁都要大于1k,所以這里設置為分頁大小。
#分頁大小可以用命令getconf PAGESIZE取得。
#但也有client_header_buffer_size該值必須設置為“系統分頁大小”的整倍數。
client_body_buffer_size 512k;
#客戶請求頭緩存大小.nginx默認會用client_header_buffer_size這個buffer來讀取header值,如果header過大,它會使用large_client_header_buffers來讀取。
large_client_header_buffers 4 32k;
#設置客戶端能夠上傳的文件大小(設定通過nginx上傳文件的大小)
client_max_body_size 300m;
#開啟高效文件傳輸模式,sendfile指令nginx是否調用sendfile函數來輸出文件,對于普通應用設為on,如果用來進行下載等應用磁盤IO重負載應用,可設置為off,以平衡磁盤與網絡IO處理速度,降低系統uptime.
sendfile on;
#此選項允許或靜止使用socke的TCP——CORK的選項,此選項僅在使用sendfile的時候使用
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
keepalive_timeout 60; #keepalive超時時間,單位為秒。
client_header_timeout 15;
client_body_timeout 15;
send_timeout 15;
#后端服務器連接的超時時間_發起握手到等候響應超時時間
#nginx跟后端服務器連接超時時間(代理連接超時)
proxy_connect_timeout 180;
#連接成功后,后端服務器響應時間(代理接收超時)
#連接成功_等候后端服務器響應時間——其實已經進入后端的配對之中等候處理(也可以說是后端服務器處理請求的時間)
proxy_read_timeout 180;
#后端服務器數據回傳時間(代理發送超時)
#后端服務器數據回傳時間,就是在規定時間之內后端服務器必須傳完所有的數據
proxy_send_timeout 180;
#設置代理服務器(nginx)保存用戶頭信息的緩存區大小
#設置從被代理服務器讀取的第一部分應答的緩沖區大小通常情況下這部分應答中包含
#一個小的應答頭,默認情況下這個值得大小為指令proxy_buffers中指定的一個緩沖區的大小,不過可以將其設置為更小
proxy_buffer_size 16k;
#proxy_buffers緩沖區,網頁平均在32k以下的設置
#設置用于讀取應答(來自被代理服務器)的緩沖區數目和大小,默認情況也為分頁大小,根據操作系統的不同可能是4k或者8k
proxy_buffers 4 64k;
#高負荷下緩沖大小(proxy_buffers*2)
proxy_busy_buffers_size 128k;
#設置在寫入proxy_temp_path時數據的大小,預防一個工作進程在傳遞文件時阻塞太長
#設定緩存文件夾大小,大于這個值,將從upstream服務器傳
proxy_temp_file_write_size 128k;
#gzip模塊設置
gzip on; #開啟gzip壓縮輸出
gzip_min_length 1k; #最小壓縮文件大小
gzip_buffers 4 32k; #壓縮緩存區
gzip_http_version 1.1; #壓縮版本(默認1.1,前段如果是squid2.5請使用1.0)
gzip_comp_level 6; #壓縮等級
# gzip_types text/plain application/x-javascript text/css application/xml;
gzip_types text/xml text/plain text/css application/javascript application/x-javascript application/rss+xml; #壓縮類型,默認就已經包含textml,所以下面就不用再寫了,寫上去也不會有問題,但是會有一個warn.
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
# waf
#lua_package_path "/usr/local/nginx/conf/waf/?.lua";
#lua_shared_dict limit 10m;
#init_by_lua_file /usr/local/nginx/conf/waf/init.lua;
#access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;
# cache
#proxy_temp_path和proxy_cache_path指定的路徑必須在同一分區
proxy_temp_path /data/proxy_cache/proxy_temp_dir;
#設置內存緩存空間大小為500MB,7天沒有被訪問的內容自動清除,硬盤緩存空間大小為30GB
proxy_cache_path /data/proxy_cache/qmcaifu.com/www levels=1:2 keys_zone=www:500m inactive=7d max_size=30g;
proxy_cache_path /data/proxy_cache/qmcaifu.com/m levels=1:2 keys_zone=m:500m inactive=7d max_size=30g;
#日志格式的設置
$remote_addr與#$與$http_x_forwarded_for用以記錄客戶端的ip地址;
$remote_user:用來記錄客戶端用戶名稱;
$time_local:用來記錄訪問時間與時區
$request:用來記錄請求的url與http協議;
$body_bytes_sent:記錄發送給客戶端文件主體內容大小;
$http_referer:用來記錄從那個頁面鏈接訪問過來的;
$http_user_agent:記錄客戶瀏覽器的相關信息;
log_format qmcaifu.com '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'"$upstream_cache_status" $request_time $upstream_addr $http_host $upstream_response_time';
#負載均衡配置
upstream backend_www {
#upstream的負載均衡,weight是權重,可以根據機器配置定義權重,weigth參數表示權值,權值越高被分配到的幾率越大。
server 10.161.158.176:80;
check interval=3000 rise=2 fall=3 timeout=5000;
}
include vhost/*.conf;
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。