什麼叫長連線?當客戶端與伺服器連線後,如果沒有任何動作,那麼伺服器會有個斷開機制,長連線就是設定這段時間的長短
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 的配置主要...