#定義
nginx
執行的使用者和使用者組
user www www;
#啟動程序
,通常設定成和
cpu的數量相等
worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
#為每個程序分配
cpu,上例中將
8個程序分配到8個
cpu,當然可以寫多個,或者將乙個程序分配到多個
cpu。
worker_rlimit_nofile 102400;
#這個指令是指當乙個
nginx
程序開啟的最多檔案描述符數目,理論值應該是最多打
#開檔案數(
ulimit -n
)與nginx
程序數相除,但是
nginx
分配請求並不是那麼均勻
#,所以最好與
ulimit -n
的值保持一致。
#全域性錯誤日誌及
pid檔案
error_log /usr/local/nginx/logs/error.log;
#錯誤日誌定義等級,
[ debug | info | notice | warn | error | crit ]
pid /usr/local/nginx/nginx.pid;
#乙個nginx
程序開啟的最多檔案描述符數目,理論值應該是最多開啟檔案數(系統的值
ulimit -n
)與nginx
程序數相除,但是
nginx
分配請求並不均勻
.#所以建議與
ulimit -n
的值保持一致。
worker_rlimit_nofile 65535;
#工作模式及連線數上限
events {
use epoll; #epoll是多路復用
io(i/o multiplexing)
中的一種方式
,但是僅用於
linux2.6
以上核心
,可以大大提高
nginx
的效能worker_connections 102400; #單個後台
worker process
程序的最大併發鏈結數 (最大連線數=連線數
*程序數)
multi_accept on; #盡可能多的接受請求
#設定http
伺服器,利用它的反向**功能提供負載均衡支援
#設定mime型別,
型別由mime.type
檔案定義
include mime.types;
#定義預設的資料流
access_log /usr/local/nginx/log/nginx/access.log;
#設定日誌格式
#sendfile 指令指定
nginx
是否呼叫
sendfile
函式(zero copy
方式)來輸出檔案,對於普通應用必須設為
onio
重負載應用,可設定為
off,以平衡磁碟與網路
i/o處理速度,降低系統的
uptime.
tcp_nopush on; #防止網路阻塞
keepalive_timeout 60;
#keepalive超時時間,客戶端到伺服器端的連線持續有效時間
,當出現對伺服器的後
,繼請求時
,keepalive-timeout
功能可避免建立或重新建立連線。
tcp_nodelay on; #提高資料的實時響應性
#開啟
gzip
壓縮
gzip_comp_level 2; #壓縮級別大小,最大為
9,值越小,壓縮後比例越小,
cpu處理更快。
#值越大,消耗
cpu比較高。
gzip_vary on;
client_max_body_size 10m; #允許客戶端請求的最大單檔案位元組數
client_body_buffer_size 128k; #緩衝區**緩衝使用者端請求的最大位元組數,
proxy_connect_timeout 90; #nginx跟後端伺服器連線超時時間
(**連線超時
)
proxy_send_timeout 90; #後端伺服器資料回傳時間
(**傳送超時
)proxy_read_timeout 90; #連線成功後,後端伺服器響應時間
(**接收超時
)proxy_buffer_size 4k; #設定**伺服器(
nginx
)儲存使用者頭資訊的緩衝區大小
proxy_buffers 4 32k; #proxy_buffers緩衝區,網頁平均在
32k以下的話,這樣設定
proxy_busy_buffers_size 64k; #高負荷下緩衝大小(
proxy_buffers*2
)#設定請求緩衝
large_client_header_buffers 4 4k;
client_header_buffer_size 4k;
#客戶端請求頭部的緩衝區大小,這個可以根據你的系統分頁大小來設定,一般乙個請求的頭部大小不會超過
1k#不過由於一般系統分頁都要大於
1k,所以這裡設定為分頁大小。分頁大小可以用命令
getconf pagesize
取得。open_file_cache max=102400 inactive=20s;
#這個將為開啟檔案指定快取,預設是沒有啟用的,
max指定快取數量,建議和開啟檔案數一致,
inactive
是指經過多長時間檔案沒被請求後刪除快取。
open_file_cache_valid 30s;
#這個是指多長時間檢查一次快取的有效資訊。
open_file_cache_min_uses 1;
#open_file_cache指令中的
inactive
引數時間內檔案的最少使用次數,如果超過這個數字,檔案描述符一直是在快取中開啟的,如上例,如果有乙個檔案在
inactive
#包含其它配置檔案,如自定義的虛擬主機
include vhosts.conf;
3 Nginx常用命令和配置檔案
以下命令都需要在 usr local nginx sbin目錄下執行 檢視nginx版本號 nginx v 啟動 nginx 停止nginx nginx s stop nginx s reload位置 usr local nginx conf nginx.conf nginx檔案由三部分組成 全域性...
nginx學習 3 Nginx 核心配置詳解
說明 main 配置影響nginx全域性的指令。一般有執行nginx伺服器的使用者組,nginx程序pid存放路徑,日誌存放路徑,配置檔案引入,允許生成worker process數等。event 配置影響nginx伺服器或與使用者的網路連線。有每個程序的最大連線數,選取哪種事件驅動模型處理連線請求...
3 Nginx目錄和配置語法
指令 值user 出於安全考慮,預設是nginx nobody worker processes 工作程序數,一般來說,設定與cpu的核心數相同即可 error log 儲存錯誤日誌的路徑,可以設定error log的級別 pidnginx 程序id user nginx worker proces...