04 Nginx的配置檔案介紹二

2021-10-10 11:56:03 字數 4005 閱讀 5555

什麼叫長連線?

當客戶端與伺服器連線後,如果沒有任何動作,那麼伺服器會有個斷開機制,長連線就是設定這段時間的長短

keepalive_timeout number;

# 這個是設定保持連線超時時長,單位是秒,0 表示禁止長連線,預設為75s

# # 還有個相關配置,配置在長連線中允許請求的資源最大數量,預設為100

#keepalive_requests number;

我們試一試

keepalive_timeout 30 35; # 30是實際值,顯示值為35

keep-alive: timeout=35 # 注意這裡顯示的時間是35

etag: "5faa9ecf-d"

accept-ranges: bytes

## 如果設定為0,會關閉會話保持功能

# 瀏覽器會收到下面的報文

connection:close

# 在配置檔案中新增乙個location

location /download

## 建立download資料夾

[root@localhost@conf]->mkdir /data/nginx/html/pc/download -p

# 考個檔案進去

[root@localhost@conf]->cp /root/anaconda-ks.cfg /data/nginx/html/pc/download/

## reload nginx

## 測試

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-ojjsawge-1605175370114)(06 nginx的配置三.assets/image-20201112173507917.png)]

limit_rate rate;

# 例limit_rate 10k;

待填坑

keepalive_disable none | browser ...;

# 對選擇的瀏覽器禁用長連線

#limit_except method ...

# 僅僅用於location內

# 來限制客戶端的請求方法

## 例

method:get,head,post,put,delete,mkcol,copy,move,options,propfind,proppatch,lock,unlock,patch

limit_except get ##

aio on | off

# 是否啟用非同步io

## linux 2.6 以上核心提供以下幾個系統呼叫來支援aio:

# sys_io_setup:建立aio 的context

# sys_io_submit: 提交i/o操作請求

# sys_io_getevents:獲取已完成的i/o事件

# sys_io_cancel:取消i/o操作請求

# sys_io_destroy:毀銷aio的context##

directio size | off

# 啟用直接io

# 預設為關閉,當設定指定大小時,會將資料立即寫入磁碟而非放入快取中

# nginx 快取相關

open_file_cache off;

open_file_cache max=n [inactive=time];

# nginx可以快取以下三種資訊:

# (1) 檔案元資料:檔案的描述符、檔案大小和最近一次的修改時間

# (2) 開啟的目錄結構

# (3) 沒有找到的或者沒有許可權訪問的檔案的相關資訊

# max=n:可快取的快取項上限數量;達到上限後會使用lru(least recently used,最近最少使用)演算法實現管理

# inactive=time:快取項的非活動時長,在此處指定的時長內未被命中的或命中的次數少於##

open_file_cache_min_uses number;

# 該指令所指定的次數的快取項即為非活動項,將被刪除

# open_file_cache指令的inactive引數指定的時長內,至少被命中此處指定的次數方可被歸類為活動項

# 預設值為1

#open_file_cache_errors on | off;

# 是否快取查詢時發生錯誤的檔案一類資訊

# 預設為off##

open_file_cache_valid time;

# 快取項有效性的檢查驗證頻率

# 預設值為60s

# 範例

open_file_cache max=10000 inactive=6 0s;

open_file_cache_valid 30s;

open_file_cache_min_uses 5;

open_file_cache_errors on;

server_tokens off;

# 隱藏nginx server版本

要實現該功能需要機遇塊ngx_http_auth_basic_module實現,在編譯安裝nginx的時候需要新增編譯引數–withhttp_stub_status_module

# 新建location

location /status

# 不需要建立對應資料夾

# 最好加入網段的限制

## 測試

狀態頁用於輸出nginx的基本狀態資訊:

輸出資訊示例:

active connections: 2

server accepts handled requests

38 38 42

上面三個數字分別對應accepts,handled,requests三個值

reading: 0 writing: 1 waiting: 1

active connections: 當前處於活動狀態的客戶端連線數,包括連線等待空閒連線數。

accepts:統計總值,nginx自啟動後已經接受的客戶端請求的總數。

handled:統計總值,nginx自啟動後已經處理完成的客戶端請求的總數,通常等於accepts,除非有因

worker_connections限制等被拒絕的連線。

requests:統計總值,nginx自啟動後客戶端發來的總的請求數。

reading:當前狀態,正在讀取客戶端請求報文首部的連線的連線數。

writing:當前狀態,正在向客戶端傳送響應報文過程中的連線數。

waiting:當前狀態,正在等待客戶端發出請求的空閒連線數,開啟 keep-alive的情況下,這個值等於

active – (reading+writing)

Nginx核心配置檔案介紹

配置總覽 1.設定worker程序的使用者,指的linux中的使用者,會涉及到nginx操作目錄或檔案的一些許可權,預設為 nobody user root 2.worker程序工作數設定,一般來說cpu有幾個,就設定幾個,或者設定為n 1也行 worker processes 1 3.nginx ...

nginx配置檔案作用介紹

1 nginx配置檔案nginx.conf中文詳解 23 定義nginx執行的使用者和使用者組 4user www www 56 nginx程序數,建議設定為等於cpu總核心數。7 worker processes 8 8 9 全域性錯誤日誌定義型別,debug info notice warn e...

nginx配置檔案的詳細介紹

為什麼一直著重研究nginx呢?是因為它是一款很強大的伺服器,如果會lua這種外掛程式語言的話,配合與之使用將會是未來幾年的新的流行技術,因為太輕了,能力太強大了,到現在可以大概看出,實際伺服器之間的架構就是配置檔案的鏈結,修改,新增等關係。下面就介紹一下nginx的配置解析 nginx 的配置主要...