3 Nginx 配置檔案一

2022-09-10 20:27:31 字數 3619 閱讀 4787

#定義

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...